N64 sync settings - some reorg
This commit is contained in:
parent
16daa26c17
commit
2928137a20
|
@ -96,10 +96,10 @@ namespace BizHawk.Client.EmuHawk
|
|||
s.VideoSizeY = Int32.Parse(strArr[1].Trim());
|
||||
switch (PluginComboBox.Text)
|
||||
{
|
||||
case "Rice": ss.VidPlugin = PLUGINTYPE.RICE; break;
|
||||
case "Glide64": ss.VidPlugin = PLUGINTYPE.GLIDE; break;
|
||||
case "Glide64mk2": ss.VidPlugin = PLUGINTYPE.GLIDE64MK2; break;
|
||||
case "Jabo 1.6.1": ss.VidPlugin = PLUGINTYPE.JABO; break;
|
||||
case "Rice": ss.VidPlugin = PluginType.RICE; break;
|
||||
case "Glide64": ss.VidPlugin = PluginType.GLIDE; break;
|
||||
case "Glide64mk2": ss.VidPlugin = PluginType.GLIDE64MK2; break;
|
||||
case "Jabo 1.6.1": ss.VidPlugin = PluginType.JABO; break;
|
||||
}
|
||||
|
||||
//Rice
|
||||
|
@ -185,24 +185,24 @@ namespace BizHawk.Client.EmuHawk
|
|||
ss.RicePlugin.ScreenUpdateSettingHack = RiceScreenUpdateSettingHack_Combo.SelectedIndex;
|
||||
ss.RicePlugin.EnableHacksForGame = RiceEnableHacksForGame_Combo.SelectedIndex;
|
||||
|
||||
ss.GlidePlugin.autodetect_ucode = Glide_autodetect_ucode.Checked;
|
||||
ss.GlidePlugin.ucode = Glide_ucode.SelectedIndex;
|
||||
ss.GlidePlugin.flame_corona = Glide_flame_corona.Checked;
|
||||
ss.GlidePlugin.card_id = Glide_card_id.SelectedIndex;
|
||||
ss.GlidePlugin.tex_filter = Glide_tex_filter.SelectedIndex;
|
||||
ss.GlidePlugin.wireframe = Glide_wireframe.Checked;
|
||||
ss.GlidePlugin.wfmode = Glide_wfmode.SelectedIndex;
|
||||
ss.GlidePlugin.fast_crc = Glide_fast_crc.Checked;
|
||||
ss.GlidePlugin.filter_cache = Glide_filter_cache.Checked;
|
||||
ss.GlidePlugin.unk_as_red = Glide_unk_as_red.Checked;
|
||||
ss.GlidePlugin.fb_read_always = Glide_fb_read_always.Checked;
|
||||
ss.GlidePlugin.motionblur = Glide_motionblur.Checked;
|
||||
ss.GlidePlugin.fb_render = Glide_fb_render.Checked;
|
||||
ss.GlidePlugin.noditheredalpha = Glide_noditheredalpha.Checked;
|
||||
ss.GlidePlugin.noglsl = Glide_noglsl.Checked;
|
||||
ss.GlidePlugin.fbo = Glide_fbo.Checked;
|
||||
ss.GlidePlugin.disable_auxbuf = Glide_disable_auxbuf.Checked;
|
||||
ss.GlidePlugin.fb_get_info = Glide_fb_get_info.Checked;
|
||||
ss.GlidePlugin.AutodetectUCode = Glide_autodetect_ucode.Checked;
|
||||
ss.GlidePlugin.UCode = Glide_ucode.SelectedIndex;
|
||||
ss.GlidePlugin.FlameCorona = Glide_flame_corona.Checked;
|
||||
ss.GlidePlugin.CardId = Glide_card_id.SelectedIndex;
|
||||
ss.GlidePlugin.TexFilter = Glide_tex_filter.SelectedIndex;
|
||||
ss.GlidePlugin.WireFrame = Glide_wireframe.Checked;
|
||||
ss.GlidePlugin.WFMode = Glide_wfmode.SelectedIndex;
|
||||
ss.GlidePlugin.FastCRC = Glide_fast_crc.Checked;
|
||||
ss.GlidePlugin.FilterCache = Glide_filter_cache.Checked;
|
||||
ss.GlidePlugin.UnkAsRed = Glide_unk_as_red.Checked;
|
||||
ss.GlidePlugin.FbReadAlways = Glide_fb_read_always.Checked;
|
||||
ss.GlidePlugin.MotionBlur = Glide_motionblur.Checked;
|
||||
ss.GlidePlugin.FbRender = Glide_fb_render.Checked;
|
||||
ss.GlidePlugin.NoDitheredAlpha = Glide_noditheredalpha.Checked;
|
||||
ss.GlidePlugin.NoGlsl = Glide_noglsl.Checked;
|
||||
ss.GlidePlugin.Fbo = Glide_fbo.Checked;
|
||||
ss.GlidePlugin.DisableAuxBuf = Glide_disable_auxbuf.Checked;
|
||||
ss.GlidePlugin.FbGetInfo = Glide_fb_get_info.Checked;
|
||||
|
||||
ss.GlidePlugin.offset_x =
|
||||
Glide_offset_x.Text.IsSigned() ?
|
||||
|
@ -226,24 +226,24 @@ namespace BizHawk.Client.EmuHawk
|
|||
ss.GlidePlugin.decrease_fillrect_edge = Glide_decrease_fillrect_edge.Checked;
|
||||
ss.GlidePlugin.detect_cpu_write = Glide_detect_cpu_write.Checked;
|
||||
ss.GlidePlugin.fb_clear = Glide_fb_clear.Checked;
|
||||
ss.GlidePlugin.fb_hires = Glide_fb_hires.Checked;
|
||||
ss.GlidePlugin.fb_read_alpha = Glide_fb_read_alpha.Checked;
|
||||
ss.GlidePlugin.fb_smart = Glide_fb_smart.Checked;
|
||||
ss.GlidePlugin.fillcolor_fix = Glide_fillcolor_fix.Checked;
|
||||
ss.GlidePlugin.fog = Glide_fog.Checked;
|
||||
ss.GlidePlugin.force_depth_compare = Glide_force_depth_compare.Checked;
|
||||
ss.GlidePlugin.force_microcheck = Glide_force_microcheck.Checked;
|
||||
ss.GlidePlugin.fb_hires_buf_clear = Glide_fb_hires_buf_clear.Checked;
|
||||
ss.GlidePlugin.fb_ignore_aux_copy = Glide_fb_ignore_aux_copy.Checked;
|
||||
ss.GlidePlugin.fb_ignore_previous = Glide_fb_ignore_previous.Checked;
|
||||
ss.GlidePlugin.increase_primdepth = Glide_increase_primdepth.Checked;
|
||||
ss.GlidePlugin.increase_texrect_edge = Glide_increase_texrect_edge.Checked;
|
||||
ss.GlidePlugin.fb_optimize_texrect = Glide_fb_optimize_texrect.Checked;
|
||||
ss.GlidePlugin.fb_optimize_write = Glide_fb_optimize_write.Checked;
|
||||
ss.GlidePlugin.FbHiRes = Glide_fb_hires.Checked;
|
||||
ss.GlidePlugin.FbReadAlpha = Glide_fb_read_alpha.Checked;
|
||||
ss.GlidePlugin.FbSmart = Glide_fb_smart.Checked;
|
||||
ss.GlidePlugin.FillColorFix = Glide_fillcolor_fix.Checked;
|
||||
ss.GlidePlugin.Fog = Glide_fog.Checked;
|
||||
ss.GlidePlugin.ForceDepthCompare = Glide_force_depth_compare.Checked;
|
||||
ss.GlidePlugin.ForceMicroCheck = Glide_force_microcheck.Checked;
|
||||
ss.GlidePlugin.FbHiResBufClear = Glide_fb_hires_buf_clear.Checked;
|
||||
ss.GlidePlugin.FbIgnoreAuxCopy = Glide_fb_ignore_aux_copy.Checked;
|
||||
ss.GlidePlugin.FbIgnorePrevious = Glide_fb_ignore_previous.Checked;
|
||||
ss.GlidePlugin.IncreasePrimDepth = Glide_increase_primdepth.Checked;
|
||||
ss.GlidePlugin.IncreaseTexRectEdge = Glide_increase_texrect_edge.Checked;
|
||||
ss.GlidePlugin.FbOptimizeTexRect = Glide_fb_optimize_texrect.Checked;
|
||||
ss.GlidePlugin.FbOptimizeWrite = Glide_fb_optimize_write.Checked;
|
||||
ss.GlidePlugin.PPL = Glide_PPL.Checked;
|
||||
ss.GlidePlugin.soft_depth_compare = Glide_soft_depth_compare.Checked;
|
||||
ss.GlidePlugin.use_sts1_only = Glide_use_sts1_only.Checked;
|
||||
ss.GlidePlugin.wrap_big_tex = Glide_wrap_big_tex.Checked;
|
||||
ss.GlidePlugin.SoftDepthCompare = Glide_soft_depth_compare.Checked;
|
||||
ss.GlidePlugin.UseSts1Only = Glide_use_sts1_only.Checked;
|
||||
ss.GlidePlugin.WrapBigTex = Glide_wrap_big_tex.Checked;
|
||||
|
||||
ss.GlidePlugin.depth_bias =
|
||||
Glide_depth_bias.Text.IsSigned() ?
|
||||
|
@ -354,10 +354,10 @@ namespace BizHawk.Client.EmuHawk
|
|||
}
|
||||
switch (ss.VidPlugin)
|
||||
{
|
||||
case PLUGINTYPE.GLIDE64MK2: PluginComboBox.Text = "Glide64mk2"; break;
|
||||
case PLUGINTYPE.GLIDE: PluginComboBox.Text = "Glide64"; break;
|
||||
case PLUGINTYPE.RICE: PluginComboBox.Text = "Rice"; break;
|
||||
case PLUGINTYPE.JABO: PluginComboBox.Text = "Jabo 1.6.1"; break;
|
||||
case PluginType.GLIDE64MK2: PluginComboBox.Text = "Glide64mk2"; break;
|
||||
case PluginType.GLIDE: PluginComboBox.Text = "Glide64"; break;
|
||||
case PluginType.RICE: PluginComboBox.Text = "Rice"; break;
|
||||
case PluginType.JABO: PluginComboBox.Text = "Jabo 1.6.1"; break;
|
||||
}
|
||||
|
||||
//Rice
|
||||
|
@ -442,24 +442,24 @@ namespace BizHawk.Client.EmuHawk
|
|||
RiceEnableHacksForGame_Combo.SelectedIndex = ss.RicePlugin.EnableHacksForGame;
|
||||
}
|
||||
|
||||
Glide_autodetect_ucode.Checked = ss.GlidePlugin.autodetect_ucode;
|
||||
Glide_ucode.SelectedIndex = ss.GlidePlugin.ucode;
|
||||
Glide_flame_corona.Checked = ss.GlidePlugin.flame_corona;
|
||||
Glide_card_id.SelectedIndex = ss.GlidePlugin.card_id;
|
||||
Glide_tex_filter.SelectedIndex = ss.GlidePlugin.tex_filter;
|
||||
Glide_wireframe.Checked = ss.GlidePlugin.wireframe;
|
||||
Glide_wfmode.SelectedIndex = ss.GlidePlugin.wfmode;
|
||||
Glide_fast_crc.Checked = ss.GlidePlugin.fast_crc;
|
||||
Glide_filter_cache.Checked = ss.GlidePlugin.filter_cache;
|
||||
Glide_unk_as_red.Checked = ss.GlidePlugin.unk_as_red;
|
||||
Glide_fb_read_always.Checked = ss.GlidePlugin.fb_read_always;
|
||||
Glide_motionblur.Checked = ss.GlidePlugin.motionblur;
|
||||
Glide_fb_render.Checked = ss.GlidePlugin.fb_render;
|
||||
Glide_noditheredalpha.Checked = ss.GlidePlugin.noditheredalpha;
|
||||
Glide_noglsl.Checked = ss.GlidePlugin.noglsl;
|
||||
Glide_fbo.Checked = ss.GlidePlugin.fbo;
|
||||
Glide_disable_auxbuf.Checked = ss.GlidePlugin.disable_auxbuf;
|
||||
Glide_fb_get_info.Checked = ss.GlidePlugin.fb_get_info;
|
||||
Glide_autodetect_ucode.Checked = ss.GlidePlugin.AutodetectUCode;
|
||||
Glide_ucode.SelectedIndex = ss.GlidePlugin.UCode;
|
||||
Glide_flame_corona.Checked = ss.GlidePlugin.FlameCorona;
|
||||
Glide_card_id.SelectedIndex = ss.GlidePlugin.CardId;
|
||||
Glide_tex_filter.SelectedIndex = ss.GlidePlugin.TexFilter;
|
||||
Glide_wireframe.Checked = ss.GlidePlugin.WireFrame;
|
||||
Glide_wfmode.SelectedIndex = ss.GlidePlugin.WFMode;
|
||||
Glide_fast_crc.Checked = ss.GlidePlugin.FastCRC;
|
||||
Glide_filter_cache.Checked = ss.GlidePlugin.FilterCache;
|
||||
Glide_unk_as_red.Checked = ss.GlidePlugin.UnkAsRed;
|
||||
Glide_fb_read_always.Checked = ss.GlidePlugin.FbReadAlways;
|
||||
Glide_motionblur.Checked = ss.GlidePlugin.MotionBlur;
|
||||
Glide_fb_render.Checked = ss.GlidePlugin.FbRender;
|
||||
Glide_noditheredalpha.Checked = ss.GlidePlugin.NoDitheredAlpha;
|
||||
Glide_noglsl.Checked = ss.GlidePlugin.NoGlsl;
|
||||
Glide_fbo.Checked = ss.GlidePlugin.Fbo;
|
||||
Glide_disable_auxbuf.Checked = ss.GlidePlugin.DisableAuxBuf;
|
||||
Glide_fb_get_info.Checked = ss.GlidePlugin.FbGetInfo;
|
||||
Glide_offset_x.Text = ss.GlidePlugin.offset_x.ToString();
|
||||
Glide_offset_y.Text = ss.GlidePlugin.offset_y.ToString();
|
||||
Glide_scale_x.Text = ss.GlidePlugin.scale_x.ToString();
|
||||
|
@ -477,24 +477,24 @@ namespace BizHawk.Client.EmuHawk
|
|||
Glide_decrease_fillrect_edge.Checked = ss.GlidePlugin.decrease_fillrect_edge;
|
||||
Glide_detect_cpu_write.Checked = ss.GlidePlugin.detect_cpu_write;
|
||||
Glide_fb_clear.Checked = ss.GlidePlugin.fb_clear;
|
||||
Glide_fb_hires.Checked = ss.GlidePlugin.fb_hires;
|
||||
Glide_fb_read_alpha.Checked = ss.GlidePlugin.fb_read_alpha;
|
||||
Glide_fb_smart.Checked = ss.GlidePlugin.fb_smart;
|
||||
Glide_fillcolor_fix.Checked = ss.GlidePlugin.fillcolor_fix;
|
||||
Glide_fog.Checked = ss.GlidePlugin.fog;
|
||||
Glide_force_depth_compare.Checked = ss.GlidePlugin.force_depth_compare;
|
||||
Glide_force_microcheck.Checked = ss.GlidePlugin.force_microcheck;
|
||||
Glide_fb_hires_buf_clear.Checked = ss.GlidePlugin.fb_hires_buf_clear;
|
||||
Glide_fb_ignore_aux_copy.Checked = ss.GlidePlugin.fb_ignore_aux_copy;
|
||||
Glide_fb_ignore_previous.Checked = ss.GlidePlugin.fb_ignore_previous;
|
||||
Glide_increase_primdepth.Checked = ss.GlidePlugin.increase_primdepth;
|
||||
Glide_increase_texrect_edge.Checked = ss.GlidePlugin.increase_texrect_edge;
|
||||
Glide_fb_optimize_texrect.Checked = ss.GlidePlugin.fb_optimize_texrect;
|
||||
Glide_fb_optimize_write.Checked = ss.GlidePlugin.fb_optimize_write;
|
||||
Glide_fb_hires.Checked = ss.GlidePlugin.FbHiRes;
|
||||
Glide_fb_read_alpha.Checked = ss.GlidePlugin.FbReadAlpha;
|
||||
Glide_fb_smart.Checked = ss.GlidePlugin.FbSmart;
|
||||
Glide_fillcolor_fix.Checked = ss.GlidePlugin.FillColorFix;
|
||||
Glide_fog.Checked = ss.GlidePlugin.Fog;
|
||||
Glide_force_depth_compare.Checked = ss.GlidePlugin.ForceDepthCompare;
|
||||
Glide_force_microcheck.Checked = ss.GlidePlugin.ForceMicroCheck;
|
||||
Glide_fb_hires_buf_clear.Checked = ss.GlidePlugin.FbHiResBufClear;
|
||||
Glide_fb_ignore_aux_copy.Checked = ss.GlidePlugin.FbIgnoreAuxCopy;
|
||||
Glide_fb_ignore_previous.Checked = ss.GlidePlugin.FbIgnorePrevious;
|
||||
Glide_increase_primdepth.Checked = ss.GlidePlugin.IncreasePrimDepth;
|
||||
Glide_increase_texrect_edge.Checked = ss.GlidePlugin.IncreaseTexRectEdge;
|
||||
Glide_fb_optimize_texrect.Checked = ss.GlidePlugin.FbOptimizeTexRect;
|
||||
Glide_fb_optimize_write.Checked = ss.GlidePlugin.FbOptimizeWrite;
|
||||
Glide_PPL.Checked = ss.GlidePlugin.PPL;
|
||||
Glide_soft_depth_compare.Checked = ss.GlidePlugin.soft_depth_compare;
|
||||
Glide_use_sts1_only.Checked = ss.GlidePlugin.use_sts1_only;
|
||||
Glide_wrap_big_tex.Checked = ss.GlidePlugin.wrap_big_tex;
|
||||
Glide_soft_depth_compare.Checked = ss.GlidePlugin.SoftDepthCompare;
|
||||
Glide_use_sts1_only.Checked = ss.GlidePlugin.UseSts1Only;
|
||||
Glide_wrap_big_tex.Checked = ss.GlidePlugin.WrapBigTex;
|
||||
|
||||
Glide_depth_bias.Text = ss.GlidePlugin.depth_bias.ToString();
|
||||
Glide_filtering.SelectedIndex = ss.GlidePlugin.filtering;
|
||||
|
|
|
@ -45,7 +45,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
|
||||
ss.VidPlugin = PluginComboBox.SelectedItem
|
||||
.ToString()
|
||||
.GetEnumFromDescription<PLUGINTYPE>();
|
||||
.GetEnumFromDescription<PluginType>();
|
||||
|
||||
PutSettings(s);
|
||||
PutSyncSettings(ss);
|
||||
|
@ -61,7 +61,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
|
||||
CoreTypeDropdown.PopulateFromEnum<N64SyncSettings.CORETYPE>(ss.CoreType);
|
||||
RspTypeDropdown.PopulateFromEnum<N64SyncSettings.RSPTYPE>(ss.RspType);
|
||||
PluginComboBox.PopulateFromEnum<PLUGINTYPE>(ss.VidPlugin);
|
||||
PluginComboBox.PopulateFromEnum<PluginType>(ss.VidPlugin);
|
||||
|
||||
var video_setting = s.VideoSizeX
|
||||
+ " x "
|
||||
|
|
|
@ -241,6 +241,11 @@
|
|||
<Compile Include="Consoles\Nintendo\GBA\LibMeteor.cs" />
|
||||
<Compile Include="Consoles\Nintendo\GBA\Meteor.cs" />
|
||||
<Compile Include="Consoles\Nintendo\N64\N64Input.cs" />
|
||||
<Compile Include="Consoles\Nintendo\N64\N64Settings.cs" />
|
||||
<Compile Include="Consoles\Nintendo\N64\N64SyncSettings.Glide.cs" />
|
||||
<Compile Include="Consoles\Nintendo\N64\N64SyncSettings.GlideMk2.cs" />
|
||||
<Compile Include="Consoles\Nintendo\N64\N64SyncSettings.Jabo.cs" />
|
||||
<Compile Include="Consoles\Nintendo\N64\N64SyncSettings.Rice.cs" />
|
||||
<Compile Include="Consoles\Nintendo\N64\NativeApi\mupen64plusAudioApi.cs" />
|
||||
<Compile Include="Consoles\Nintendo\N64\NativeApi\mupen64plusCoreApi.cs" />
|
||||
<Compile Include="Consoles\Nintendo\N64\N64.cs" />
|
||||
|
|
|
@ -0,0 +1,17 @@
|
|||
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,
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,192 @@
|
|||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
using BizHawk.Emulation.Common;
|
||||
|
||||
namespace BizHawk.Emulation.Cores.Nintendo.N64
|
||||
{
|
||||
public partial class N64SyncSettings
|
||||
{
|
||||
public class N64GlidePluginSettings : IPluginSettings
|
||||
{
|
||||
public N64GlidePluginSettings()
|
||||
{
|
||||
WFMode = 1;
|
||||
WireFrame = false;
|
||||
CardId = 0;
|
||||
FlameCorona = false;
|
||||
UCode = 2;
|
||||
AutodetectUCode = true;
|
||||
MotionBlur = false;
|
||||
FbReadAlways = false;
|
||||
UnkAsRed = false;
|
||||
FilterCache = false;
|
||||
FastCRC = false;
|
||||
DisableAuxBuf = false;
|
||||
Fbo = false;
|
||||
NoGlsl = true;
|
||||
NoDitheredAlpha = true;
|
||||
TexFilter = 0;
|
||||
FbRender = false;
|
||||
WrapBigTex = false;
|
||||
UseSts1Only = false;
|
||||
SoftDepthCompare = false;
|
||||
PPL = false;
|
||||
FbOptimizeWrite = false;
|
||||
FbOptimizeTexRect = true;
|
||||
IncreaseTexRectEdge = false;
|
||||
IncreasePrimDepth = false;
|
||||
FbIgnorePrevious = false;
|
||||
FbIgnoreAuxCopy = false;
|
||||
FbHiResBufClear = true;
|
||||
ForceMicroCheck = false;
|
||||
ForceDepthCompare = false;
|
||||
Fog = true;
|
||||
FillColorFix = false;
|
||||
FbSmart = false;
|
||||
FbReadAlpha = false;
|
||||
FbGetInfo = false;
|
||||
FbHiRes = true;
|
||||
fb_clear = false;
|
||||
detect_cpu_write = false;
|
||||
decrease_fillrect_edge = false;
|
||||
buff_clear = true;
|
||||
alt_tex_size = false;
|
||||
UseDefaultHacks = true;
|
||||
enable_hacks_for_game = 0;
|
||||
swapmode = 1;
|
||||
stipple_pattern = 1041204192;
|
||||
stipple_mode = 2;
|
||||
scale_y = 100000;
|
||||
scale_x = 100000;
|
||||
offset_y = 0;
|
||||
offset_x = 0;
|
||||
lodmode = 0;
|
||||
fix_tex_coord = 0;
|
||||
filtering = 1;
|
||||
depth_bias = 20;
|
||||
}
|
||||
|
||||
[JsonIgnore]
|
||||
public PluginType PluginType
|
||||
{
|
||||
get { return PluginType.GLIDE; }
|
||||
}
|
||||
|
||||
public int WFMode { get; set; }
|
||||
public bool WireFrame { get; set; }
|
||||
public int CardId { get; set; }
|
||||
public bool FlameCorona { get; set; }
|
||||
public int UCode { get; set; }
|
||||
public bool AutodetectUCode { get; set; }
|
||||
public bool MotionBlur { get; set; }
|
||||
public bool FbReadAlways { get; set; }
|
||||
public bool UnkAsRed { get; set; }
|
||||
public bool FilterCache { get; set; }
|
||||
public bool FastCRC { get; set; }
|
||||
public bool DisableAuxBuf { get; set; }
|
||||
public bool Fbo { get; set; }
|
||||
public bool NoGlsl { get; set; }
|
||||
public bool NoDitheredAlpha { get; set; }
|
||||
public int TexFilter { get; set; }
|
||||
public bool FbRender { get; set; }
|
||||
public bool WrapBigTex { get; set; }
|
||||
public bool UseSts1Only { get; set; }
|
||||
public bool SoftDepthCompare { get; set; }
|
||||
public bool PPL { get; set; }
|
||||
public bool FbOptimizeWrite { get; set; }
|
||||
public bool FbOptimizeTexRect { get; set; }
|
||||
public bool IncreaseTexRectEdge { get; set; }
|
||||
public bool IncreasePrimDepth { get; set; }
|
||||
public bool FbIgnorePrevious { get; set; }
|
||||
public bool FbIgnoreAuxCopy { get; set; }
|
||||
public bool FbHiResBufClear { get; set; }
|
||||
public bool ForceMicroCheck { get; set; }
|
||||
public bool ForceDepthCompare { get; set; }
|
||||
public bool Fog { get; set; }
|
||||
public bool FillColorFix { get; set; }
|
||||
public bool FbSmart { get; set; }
|
||||
public bool FbReadAlpha { get; set; }
|
||||
public bool FbGetInfo { get; set; }
|
||||
public bool FbHiRes { get; set; }
|
||||
public bool fb_clear { get; set; }
|
||||
public bool detect_cpu_write { get; set; }
|
||||
public bool decrease_fillrect_edge { get; set; }
|
||||
public bool buff_clear { get; set; }
|
||||
public bool alt_tex_size { get; set; }
|
||||
public bool UseDefaultHacks { get; set; }
|
||||
public int enable_hacks_for_game { get; set; }
|
||||
public int swapmode { get; set; }
|
||||
public int stipple_pattern { get; set; }
|
||||
public int stipple_mode { get; set; }
|
||||
public int scale_y { get; set; }
|
||||
public int scale_x { get; set; }
|
||||
public int offset_y { get; set; }
|
||||
public int offset_x { get; set; }
|
||||
public int lodmode { get; set; }
|
||||
public int fix_tex_coord { get; set; }
|
||||
public int filtering { get; set; }
|
||||
public int depth_bias { get; set; }
|
||||
|
||||
public N64GlidePluginSettings Clone()
|
||||
{
|
||||
return (N64GlidePluginSettings)MemberwiseClone();
|
||||
}
|
||||
|
||||
public void FillPerGameHacks(GameInfo game)
|
||||
{
|
||||
if (UseDefaultHacks)
|
||||
{
|
||||
alt_tex_size = game.GetBool("Glide_alt_tex_size", false);
|
||||
buff_clear = game.GetBool("Glide_buff_clear", true);
|
||||
decrease_fillrect_edge = game.GetBool("Glide_decrease_fillrect_edge", false);
|
||||
detect_cpu_write = game.GetBool("Glide_detect_cpu_write", false);
|
||||
fb_clear = game.GetBool("Glide_fb_clear", false);
|
||||
FbHiRes = game.GetBool("Glide_fb_clear", true);
|
||||
FbReadAlpha = game.GetBool("Glide_fb_read_alpha", false);
|
||||
FbSmart = game.GetBool("Glide_fb_smart", false);
|
||||
FillColorFix = game.GetBool("Glide_fillcolor_fix", false);
|
||||
Fog = game.GetBool("Glide_fog", true);
|
||||
ForceDepthCompare = game.GetBool("Glide_force_depth_compare", false);
|
||||
ForceMicroCheck = game.GetBool("Glide_force_microcheck", false);
|
||||
FbHiResBufClear = game.GetBool("Glide_fb_hires_buf_clear", true);
|
||||
FbIgnoreAuxCopy = game.GetBool("Glide_fb_ignore_aux_copy", false);
|
||||
FbIgnorePrevious = game.GetBool("Glide_fb_ignore_previous", false);
|
||||
IncreasePrimDepth = game.GetBool("Glide_increase_primdepth", false);
|
||||
IncreaseTexRectEdge = game.GetBool("Glide_increase_texrect_edge", false);
|
||||
FbOptimizeTexRect = game.GetBool("Glide_fb_optimize_texrect", true);
|
||||
FbOptimizeWrite = game.GetBool("Glide_fb_optimize_write", false);
|
||||
PPL = game.GetBool("Glide_PPL", false);
|
||||
SoftDepthCompare = game.GetBool("Glide_soft_depth_compare", false);
|
||||
UseSts1Only = game.GetBool("Glide_use_sts1_only", false);
|
||||
WrapBigTex = game.GetBool("Glide_wrap_big_tex", false);
|
||||
|
||||
depth_bias = game.GetInt("Glide_depth_bias", 20);
|
||||
filtering = game.GetInt("Glide_filtering", 1);
|
||||
fix_tex_coord = game.GetInt("Glide_fix_tex_coord", 0);
|
||||
lodmode = game.GetInt("Glide_lodmode", 0);
|
||||
|
||||
stipple_mode = game.GetInt("Glide_stipple_mode", 2);
|
||||
stipple_pattern = game.GetInt("Glide_stipple_pattern", 1041204192);
|
||||
swapmode = game.GetInt("Glide_swapmode", 1);
|
||||
enable_hacks_for_game = game.GetInt("Glide_enable_hacks_for_game", 0);
|
||||
}
|
||||
}
|
||||
|
||||
public Dictionary<string, object> GetPluginSettings()
|
||||
{
|
||||
//TODO: deal witn the game depedent settings
|
||||
var dictionary = new Dictionary<string, object>();
|
||||
var members = this.GetType().GetFields();
|
||||
foreach (var member in members)
|
||||
{
|
||||
var field = this.GetType().GetField(member.Name).GetValue(this);
|
||||
dictionary.Add(member.Name, field);
|
||||
}
|
||||
|
||||
return dictionary;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,175 @@
|
|||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
using BizHawk.Emulation.Common;
|
||||
|
||||
namespace BizHawk.Emulation.Cores.Nintendo.N64
|
||||
{
|
||||
public partial class N64SyncSettings
|
||||
{
|
||||
public class N64Glide64mk2PluginSettings : IPluginSettings
|
||||
{
|
||||
public N64Glide64mk2PluginSettings()
|
||||
{
|
||||
wrpFBO = true;
|
||||
card_id = 0;
|
||||
use_sts1_only = false;
|
||||
optimize_texrect = true;
|
||||
increase_texrect_edge = false;
|
||||
ignore_aux_copy = false;
|
||||
hires_buf_clear = true;
|
||||
force_microcheck = false;
|
||||
fog = true;
|
||||
fb_smart = false;
|
||||
fb_read_alpha = false;
|
||||
fb_hires = true;
|
||||
detect_cpu_write = false;
|
||||
decrease_fillrect_edge = false;
|
||||
buff_clear = true;
|
||||
alt_tex_size = false;
|
||||
swapmode = 1;
|
||||
stipple_pattern = 1041204192;
|
||||
stipple_mode = 2;
|
||||
lodmode = 0;
|
||||
filtering = 0;
|
||||
wrpAnisotropic = false;
|
||||
correct_viewport = false;
|
||||
force_calc_sphere = false;
|
||||
pal230 = false;
|
||||
texture_correction = true;
|
||||
n64_z_scale = false;
|
||||
old_style_adither = false;
|
||||
zmode_compare_less = false;
|
||||
adjust_aspect = true;
|
||||
clip_zmax = true;
|
||||
clip_zmin = false;
|
||||
force_quad3d = false;
|
||||
useless_is_useless = false;
|
||||
fb_read_always = false;
|
||||
fb_get_info = false;
|
||||
fb_render = true;
|
||||
aspectmode = 0;
|
||||
fb_crc_mode = 1;
|
||||
fast_crc = true;
|
||||
UseDefaultHacks = true;
|
||||
enable_hacks_for_game = 0;
|
||||
read_back_to_screen = 0;
|
||||
}
|
||||
|
||||
[JsonIgnore]
|
||||
public PluginType PluginType
|
||||
{
|
||||
get { return PluginType.GLIDE64MK2; }
|
||||
}
|
||||
|
||||
public bool wrpFBO { get; set; }
|
||||
public int card_id { get; set; }
|
||||
public bool use_sts1_only { get; set; }
|
||||
public bool optimize_texrect { get; set; }
|
||||
public bool increase_texrect_edge { get; set; }
|
||||
public bool ignore_aux_copy { get; set; }
|
||||
public bool hires_buf_clear { get; set; }
|
||||
public bool force_microcheck { get; set; }
|
||||
public bool fog { get; set; }
|
||||
public bool fb_smart { get; set; }
|
||||
public bool fb_read_alpha { get; set; }
|
||||
public bool fb_hires { get; set; }
|
||||
public bool detect_cpu_write { get; set; }
|
||||
public bool decrease_fillrect_edge { get; set; }
|
||||
public bool buff_clear { get; set; }
|
||||
public bool alt_tex_size { get; set; }
|
||||
public int swapmode { get; set; }
|
||||
public int stipple_pattern { get; set; }
|
||||
public int stipple_mode { get; set; }
|
||||
public int lodmode { get; set; }
|
||||
public int filtering { get; set; }
|
||||
public bool wrpAnisotropic { get; set; }
|
||||
public bool correct_viewport { get; set; }
|
||||
public bool force_calc_sphere { get; set; }
|
||||
public bool pal230 { get; set; }
|
||||
public bool texture_correction { get; set; }
|
||||
public bool n64_z_scale { get; set; }
|
||||
public bool old_style_adither { get; set; }
|
||||
public bool zmode_compare_less { get; set; }
|
||||
public bool adjust_aspect { get; set; }
|
||||
public bool clip_zmax { get; set; }
|
||||
public bool clip_zmin { get; set; }
|
||||
public bool force_quad3d { get; set; }
|
||||
public bool useless_is_useless { get; set; }
|
||||
public bool fb_read_always { get; set; }
|
||||
public bool fb_get_info { get; set; }
|
||||
public bool fb_render { get; set; }
|
||||
public int aspectmode { get; set; }
|
||||
public int fb_crc_mode { get; set; }
|
||||
public bool fast_crc { get; set; }
|
||||
public bool UseDefaultHacks { get; set; }
|
||||
public int enable_hacks_for_game { get; set; }
|
||||
public int read_back_to_screen { get; set; }
|
||||
|
||||
public N64Glide64mk2PluginSettings Clone()
|
||||
{
|
||||
return (N64Glide64mk2PluginSettings)MemberwiseClone();
|
||||
}
|
||||
|
||||
public void FillPerGameHacks(GameInfo game)
|
||||
{
|
||||
if (UseDefaultHacks)
|
||||
{
|
||||
use_sts1_only = game.GetBool("Glide64mk2_use_sts1_only", false);
|
||||
optimize_texrect = game.GetBool("Glide64mk2_optimize_texrect", true);
|
||||
increase_texrect_edge = game.GetBool("Glide64mk2_increase_texrect_edge", false);
|
||||
ignore_aux_copy = game.GetBool("Glide64mk2_ignore_aux_copy", false);
|
||||
hires_buf_clear = game.GetBool("Glide64mk2_hires_buf_clear", true);
|
||||
force_microcheck = game.GetBool("Glide64mk2_force_microcheck", false);
|
||||
fog = game.GetBool("Glide64mk2_fog", true);
|
||||
fb_smart = game.GetBool("Glide64mk2_fb_smart", false);
|
||||
fb_read_alpha = game.GetBool("Glide64mk2_fb_read_alpha", false);
|
||||
fb_hires = game.GetBool("Glide64mk2_fb_hires", true);
|
||||
detect_cpu_write = game.GetBool("Glide64mk2_detect_cpu_write", false);
|
||||
decrease_fillrect_edge = game.GetBool("Glide64mk2_decrease_fillrect_edge", false);
|
||||
buff_clear = game.GetBool("Glide64mk2_buff_clear", true);
|
||||
alt_tex_size = game.GetBool("Glide64mk2_alt_tex_size", true);
|
||||
swapmode = game.GetInt("Glide64mk2_swapmode", 1);
|
||||
stipple_pattern = game.GetInt("Glide64mk2_stipple_pattern", 1041204192);
|
||||
stipple_mode = game.GetInt("Glide64mk2_stipple_mode", 2);
|
||||
lodmode = game.GetInt("Glide64mk2_lodmode", 0);
|
||||
filtering = game.GetInt("Glide64mk2_filtering", 0);
|
||||
correct_viewport = game.GetBool("Glide64mk2_correct_viewport", false);
|
||||
force_calc_sphere = game.GetBool("Glide64mk2_force_calc_sphere", false);
|
||||
pal230 = game.GetBool("Glide64mk2_pal230", false);
|
||||
texture_correction = game.GetBool("Glide64mk2_texture_correction", true);
|
||||
n64_z_scale = game.GetBool("Glide64mk2_n64_z_scale", false);
|
||||
old_style_adither = game.GetBool("Glide64mk2_old_style_adither", false);
|
||||
zmode_compare_less = game.GetBool("Glide64mk2_zmode_compare_less", false);
|
||||
adjust_aspect = game.GetBool("Glide64mk2_adjust_aspect", true);
|
||||
clip_zmax = game.GetBool("Glide64mk2_clip_zmax", true);
|
||||
clip_zmin = game.GetBool("Glide64mk2_clip_zmin", false);
|
||||
force_quad3d = game.GetBool("Glide64mk2_force_quad3d", false);
|
||||
useless_is_useless = game.GetBool("Glide64mk2_useless_is_useless", false);
|
||||
fb_read_always = game.GetBool("Glide64mk2_fb_read_always", false);
|
||||
aspectmode = game.GetInt("Glide64mk2_aspectmode", 0);
|
||||
fb_crc_mode = game.GetInt("Glide64mk2_fb_crc_mode", 1);
|
||||
enable_hacks_for_game = game.GetInt("Glide64mk2_enable_hacks_for_game", 0);
|
||||
read_back_to_screen = game.GetInt("Glide64mk2_read_back_to_screen", 0);
|
||||
fast_crc = game.GetBool("Glide64mk2_fast_crc", true);
|
||||
}
|
||||
}
|
||||
|
||||
public Dictionary<string, object> GetPluginSettings()
|
||||
{
|
||||
//TODO: deal witn the game depedent settings
|
||||
var dictionary = new Dictionary<string, object>();
|
||||
var members = this.GetType().GetFields();
|
||||
foreach (var member in members)
|
||||
{
|
||||
var field = this.GetType().GetField(member.Name).GetValue(this);
|
||||
dictionary.Add(member.Name, field);
|
||||
}
|
||||
|
||||
return dictionary;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,162 @@
|
|||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
using BizHawk.Emulation.Common;
|
||||
|
||||
namespace BizHawk.Emulation.Cores.Nintendo.N64
|
||||
{
|
||||
public partial class N64SyncSettings
|
||||
{
|
||||
public class N64JaboPluginSettings : IPluginSettings
|
||||
{
|
||||
public N64JaboPluginSettings()
|
||||
{
|
||||
anisotropic_level = ANISOTROPIC_FILTERING_LEVEL.four_times;
|
||||
brightness = 100;
|
||||
super2xsal = false;
|
||||
texture_filter = false;
|
||||
adjust_aspect_ratio = false;
|
||||
legacy_pixel_pipeline = false;
|
||||
alpha_blending = false;
|
||||
wireframe = false;
|
||||
direct3d_transformation_pipeline = false;
|
||||
z_compare = false;
|
||||
copy_framebuffer = false;
|
||||
resolution_width = -1;
|
||||
resolution_height = -1;
|
||||
clear_mode = DIRECT3D_CLEAR_MODE.def;
|
||||
}
|
||||
|
||||
[JsonIgnore]
|
||||
public PluginType PluginType
|
||||
{
|
||||
get { return PluginType.JABO; }
|
||||
}
|
||||
|
||||
public void FillPerGameHacks(GameInfo game)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public Dictionary<string, object> GetPluginSettings()
|
||||
{
|
||||
//TODO: deal witn the game depedent settings
|
||||
var dictionary = new Dictionary<string, object>();
|
||||
var members = this.GetType().GetFields();
|
||||
foreach (var member in members)
|
||||
{
|
||||
var field = this.GetType().GetField(member.Name).GetValue(this);
|
||||
dictionary.Add(member.Name, field);
|
||||
}
|
||||
|
||||
return dictionary;
|
||||
}
|
||||
|
||||
public enum ANISOTROPIC_FILTERING_LEVEL
|
||||
{
|
||||
[Description("Off")]
|
||||
off = 0,
|
||||
|
||||
[Description("2X")]
|
||||
two_times = 1,
|
||||
|
||||
[Description("4X")]
|
||||
four_times = 2,
|
||||
|
||||
[Description("8X")]
|
||||
eight_times = 3,
|
||||
|
||||
[Description("16X")]
|
||||
sixteen_times = 4
|
||||
}
|
||||
|
||||
[DefaultValue(ANISOTROPIC_FILTERING_LEVEL.four_times)]
|
||||
[Description("Anisotropic filtering level")]
|
||||
//[DisplayName("Anisotropic filtering")]
|
||||
public ANISOTROPIC_FILTERING_LEVEL anisotropic_level { get; set; }
|
||||
|
||||
[DefaultValue(100)]
|
||||
[Description("Brightness level, 100%-190%")]
|
||||
//[DisplayName("Brightness")]
|
||||
public int brightness { get; set; }
|
||||
|
||||
[DefaultValue(false)]
|
||||
[Description("Enables Super2xSal textures")]
|
||||
//[DisplayName("Super2xSal textures")]
|
||||
public bool super2xsal { get; set; }
|
||||
|
||||
[DefaultValue(false)]
|
||||
[Description("Always use texture filter")]
|
||||
//[DisplayName("Always use texture filter")]
|
||||
public bool texture_filter { get; set; }
|
||||
|
||||
[DefaultValue(false)]
|
||||
[Description("Adjust game aspect ratio to match yours")]
|
||||
//[DisplayName("Adjust game aspect ratio to match yours")]
|
||||
public bool adjust_aspect_ratio { get; set; }
|
||||
|
||||
[DefaultValue(false)]
|
||||
[Description("Use legacy pixel pipeline")]
|
||||
//[DisplayName("Use legacy pixel pipeline")]
|
||||
public bool legacy_pixel_pipeline { get; set; }
|
||||
|
||||
[DefaultValue(false)]
|
||||
[Description("Force alpha blending")]
|
||||
//[DisplayName("Force alpha blending")]
|
||||
public bool alpha_blending { get; set; }
|
||||
|
||||
[DefaultValue(false)]
|
||||
[Description("Wireframe rendering")]
|
||||
//[DisplayName("Wireframe rendering")]
|
||||
public bool wireframe { get; set; }
|
||||
|
||||
[DefaultValue(false)]
|
||||
[Description("Use Direct3D transformation pipeline")]
|
||||
//[DisplayName("Use Direct3D transformation pipeline")]
|
||||
public bool direct3d_transformation_pipeline { get; set; }
|
||||
|
||||
[DefaultValue(false)]
|
||||
[Description("Force Z Compare")]
|
||||
//[DisplayName("Force Z Compare")]
|
||||
public bool z_compare { get; set; }
|
||||
|
||||
[DefaultValue(false)]
|
||||
[Description("Copy framebuffer to RDRAM")]
|
||||
//[DisplayName("Copy framebuffer to RDRAM")]
|
||||
public bool copy_framebuffer { get; set; }
|
||||
|
||||
[DefaultValue(-1)]
|
||||
[Description("Emulated Width")]
|
||||
//[DisplayName("Emulated Width")]
|
||||
public int resolution_width { get; set; }
|
||||
|
||||
[DefaultValue(-1)]
|
||||
[Description("Emulated Height")]
|
||||
//[DisplayName("Emulated Height")]
|
||||
public int resolution_height { get; set; }
|
||||
|
||||
public enum DIRECT3D_CLEAR_MODE
|
||||
{
|
||||
[Description("Default")]
|
||||
def = 0,
|
||||
|
||||
[Description("Only Per Frame")]
|
||||
per_frame = 1,
|
||||
|
||||
[Description("Always")]
|
||||
always = 2
|
||||
}
|
||||
[DefaultValue(DIRECT3D_CLEAR_MODE.def)]
|
||||
[Description("Direct3D Clear Mode")]
|
||||
//[DisplayName("Direct3D Clear Mode")]
|
||||
public DIRECT3D_CLEAR_MODE clear_mode { get; set; }
|
||||
|
||||
public N64JaboPluginSettings Clone()
|
||||
{
|
||||
return (N64JaboPluginSettings)MemberwiseClone();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,390 @@
|
|||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
using BizHawk.Emulation.Common;
|
||||
|
||||
namespace BizHawk.Emulation.Cores.Nintendo.N64
|
||||
{
|
||||
public partial class N64SyncSettings
|
||||
{
|
||||
public class N64RicePluginSettings : IPluginSettings
|
||||
{
|
||||
public N64RicePluginSettings()
|
||||
{
|
||||
FrameBufferSetting = 0;
|
||||
FrameBufferWriteBackControl = 0;
|
||||
RenderToTexture = 0;
|
||||
ScreenUpdateSetting = 4;
|
||||
Mipmapping = 2;
|
||||
FogMethod = 0;
|
||||
ForceTextureFilter = 0;
|
||||
TextureEnhancement = 0;
|
||||
TextureEnhancementControl = 0;
|
||||
TextureQuality = 0;
|
||||
OpenGLDepthBufferSetting = 16;
|
||||
MultiSampling = 0;
|
||||
ColorQuality = 0;
|
||||
OpenGLRenderSetting = 0;
|
||||
AnisotropicFiltering = 0;
|
||||
|
||||
NormalAlphaBlender = false;
|
||||
FastTextureLoading = false;
|
||||
AccurateTextureMapping = true;
|
||||
InN64Resolution = false;
|
||||
SaveVRAM = false;
|
||||
DoubleSizeForSmallTxtrBuf = false;
|
||||
DefaultCombinerDisable = false;
|
||||
EnableHacks = true;
|
||||
WinFrameMode = false;
|
||||
FullTMEMEmulation = false;
|
||||
OpenGLVertexClipper = false;
|
||||
EnableSSE = true;
|
||||
EnableVertexShader = false;
|
||||
SkipFrame = false;
|
||||
TexRectOnly = false;
|
||||
SmallTextureOnly = false;
|
||||
LoadHiResCRCOnly = true;
|
||||
LoadHiResTextures = false;
|
||||
DumpTexturesToFiles = false;
|
||||
|
||||
UseDefaultHacks = true;
|
||||
DisableTextureCRC = false;
|
||||
DisableCulling = false;
|
||||
IncTexRectEdge = false;
|
||||
ZHack = false;
|
||||
TextureScaleHack = false;
|
||||
PrimaryDepthHack = false;
|
||||
Texture1Hack = false;
|
||||
FastLoadTile = false;
|
||||
UseSmallerTexture = false;
|
||||
VIWidth = -1;
|
||||
VIHeight = -1;
|
||||
UseCIWidthAndRatio = 0;
|
||||
FullTMEM = 0;
|
||||
TxtSizeMethod2 = false;
|
||||
EnableTxtLOD = false;
|
||||
FastTextureCRC = 0;
|
||||
EmulateClear = false;
|
||||
ForceScreenClear = false;
|
||||
AccurateTextureMappingHack = 0;
|
||||
NormalBlender = 0;
|
||||
DisableBlender = false;
|
||||
ForceDepthBuffer = false;
|
||||
DisableObjBG = false;
|
||||
FrameBufferOption = 0;
|
||||
RenderToTextureOption = 0;
|
||||
ScreenUpdateSettingHack = 0;
|
||||
EnableHacksForGame = 0;
|
||||
}
|
||||
|
||||
[JsonIgnore]
|
||||
[Description("Plugin Type")]
|
||||
public PluginType PluginType
|
||||
{
|
||||
get { return PluginType.RICE; }
|
||||
}
|
||||
|
||||
[DefaultValue(0)]
|
||||
[DisplayName("Frame Buffer Setting")]
|
||||
public int FrameBufferSetting { get; set; }
|
||||
|
||||
[DefaultValue(0)]
|
||||
[DisplayName("Frame Buffer Write Back Control")]
|
||||
public int FrameBufferWriteBackControl { get; set; }
|
||||
|
||||
[DefaultValue(0)]
|
||||
[DisplayName("Frame Buffer Write Back Control")]
|
||||
public int RenderToTexture { get; set; }
|
||||
|
||||
[DefaultValue(4)]
|
||||
[DisplayName("Screen Update Setting")]
|
||||
public int ScreenUpdateSetting { get; set; }
|
||||
|
||||
[DefaultValue(2)]
|
||||
[DisplayName("Mip Mapping")]
|
||||
public int Mipmapping { get; set; }
|
||||
|
||||
[DefaultValue(0)]
|
||||
[DisplayName("Fog Method")]
|
||||
public int FogMethod { get; set; }
|
||||
|
||||
[DefaultValue(0)]
|
||||
[DisplayName("Force Texture Filter")]
|
||||
public int ForceTextureFilter { get; set; }
|
||||
|
||||
[DefaultValue(0)]
|
||||
[DisplayName("Texture Enhancement")]
|
||||
public int TextureEnhancement { get; set; }
|
||||
|
||||
[DefaultValue(0)]
|
||||
[DisplayName("Texture Enhancement Control")]
|
||||
public int TextureEnhancementControl { get; set; }
|
||||
|
||||
[DefaultValue(0)]
|
||||
[DisplayName("Texture Quality")]
|
||||
public int TextureQuality { get; set; }
|
||||
|
||||
[DefaultValue(16)]
|
||||
[DisplayName("OpenGL Depth Buffer Setting")]
|
||||
public int OpenGLDepthBufferSetting { get; set; }
|
||||
|
||||
[DefaultValue(0)]
|
||||
[DisplayName("Multi-sampling")]
|
||||
public int MultiSampling { get; set; }
|
||||
|
||||
[DefaultValue(0)]
|
||||
[DisplayName("Color Quality")]
|
||||
public int ColorQuality { get; set; }
|
||||
|
||||
[DefaultValue(0)]
|
||||
[DisplayName("OpenGL Render Setting")]
|
||||
public int OpenGLRenderSetting { get; set; }
|
||||
|
||||
[DefaultValue(0)]
|
||||
[DisplayName("Anisotropic Filter")]
|
||||
public int AnisotropicFiltering { get; set; }
|
||||
|
||||
[DefaultValue(false)]
|
||||
[DisplayName("Normal Alpha Blender")]
|
||||
public bool NormalAlphaBlender { get; set; }
|
||||
|
||||
[DefaultValue(false)]
|
||||
[DisplayName("Fast Texture Loading")]
|
||||
public bool FastTextureLoading { get; set; }
|
||||
|
||||
[DefaultValue(true)]
|
||||
[DisplayName("Accurate Texture Mapping")]
|
||||
public bool AccurateTextureMapping { get; set; }
|
||||
|
||||
[DefaultValue(false)]
|
||||
[DisplayName("In N64 Resolution")]
|
||||
public bool InN64Resolution { get; set; }
|
||||
|
||||
[DefaultValue(false)]
|
||||
[DisplayName("Save VRAM")]
|
||||
public bool SaveVRAM { get; set; }
|
||||
|
||||
[DefaultValue(false)]
|
||||
[DisplayName("Double Size for Small Texture Buffer")]
|
||||
public bool DoubleSizeForSmallTxtrBuf { get; set; }
|
||||
|
||||
[DefaultValue(false)]
|
||||
[DisplayName("Default Combiner Disable")]
|
||||
public bool DefaultCombinerDisable { get; set; }
|
||||
|
||||
[DefaultValue(true)]
|
||||
[DisplayName("Enable Hacks")]
|
||||
public bool EnableHacks { get; set; }
|
||||
|
||||
[DefaultValue(false)]
|
||||
[DisplayName("WinFrame Mode")]
|
||||
public bool WinFrameMode { get; set; }
|
||||
|
||||
[DefaultValue(false)]
|
||||
[DisplayName("Full TMEM Emulation")]
|
||||
public bool FullTMEMEmulation { get; set; }
|
||||
|
||||
[DefaultValue(false)]
|
||||
[DisplayName("OpenGL Vertex Clipper")]
|
||||
public bool OpenGLVertexClipper { get; set; }
|
||||
|
||||
[DefaultValue(true)]
|
||||
[DisplayName("Enable SSE")]
|
||||
public bool EnableSSE { get; set; }
|
||||
|
||||
[DefaultValue(false)]
|
||||
[DisplayName("Enable Vertex Shader")]
|
||||
public bool EnableVertexShader { get; set; }
|
||||
|
||||
[DefaultValue(false)]
|
||||
[DisplayName("Skip Frame")]
|
||||
public bool SkipFrame { get; set; }
|
||||
|
||||
[DefaultValue(false)]
|
||||
[DisplayName("Text Rect Only")]
|
||||
public bool TexRectOnly { get; set; }
|
||||
|
||||
[DefaultValue(false)]
|
||||
[DisplayName("Small Texture Only")]
|
||||
public bool SmallTextureOnly { get; set; }
|
||||
|
||||
[DefaultValue(true)]
|
||||
[DisplayName("Load Hi Res CRC Only")]
|
||||
public bool LoadHiResCRCOnly { get; set; }
|
||||
|
||||
[DefaultValue(false)]
|
||||
[DisplayName("Load Hi Res Textures")]
|
||||
public bool LoadHiResTextures { get; set; }
|
||||
|
||||
[DefaultValue(false)]
|
||||
[DisplayName("Dump Textures to Files")]
|
||||
public bool DumpTexturesToFiles { get; set; }
|
||||
|
||||
[DefaultValue(true)]
|
||||
[DisplayName("Use Default Hacks")]
|
||||
public bool UseDefaultHacks { get; set; }
|
||||
|
||||
[DefaultValue(false)]
|
||||
[DisplayName("Disable Texture CRC")]
|
||||
public bool DisableTextureCRC { get; set; }
|
||||
|
||||
[DefaultValue(false)]
|
||||
[DisplayName("Disable Culling")]
|
||||
public bool DisableCulling { get; set; }
|
||||
|
||||
[DefaultValue(false)]
|
||||
[DisplayName("Include TexRect Edge")]
|
||||
public bool IncTexRectEdge { get; set; }
|
||||
|
||||
[DefaultValue(false)]
|
||||
[DisplayName("ZHack")]
|
||||
public bool ZHack { get; set; }
|
||||
|
||||
[DefaultValue(false)]
|
||||
[DisplayName("Texture Scale Hack")]
|
||||
public bool TextureScaleHack { get; set; }
|
||||
|
||||
[DefaultValue(false)]
|
||||
[DisplayName("Primary Depth Hack")]
|
||||
public bool PrimaryDepthHack { get; set; }
|
||||
|
||||
[DefaultValue(false)]
|
||||
[DisplayName("Texture 1 Hack")]
|
||||
public bool Texture1Hack { get; set; }
|
||||
|
||||
[DefaultValue(false)]
|
||||
[DisplayName("Fast Load Tile")]
|
||||
public bool FastLoadTile { get; set; }
|
||||
|
||||
[DefaultValue(false)]
|
||||
[DisplayName("Use Smaller Texture")]
|
||||
public bool UseSmallerTexture { get; set; }
|
||||
|
||||
[DefaultValue(-1)]
|
||||
[DisplayName("VI Width")]
|
||||
public int VIWidth { get; set; }
|
||||
|
||||
[DefaultValue(-1)]
|
||||
[DisplayName("VI Height")]
|
||||
public int VIHeight { get; set; }
|
||||
|
||||
[DefaultValue(0)]
|
||||
[DisplayName("Use CI Width and Ratio")]
|
||||
public int UseCIWidthAndRatio { get; set; }
|
||||
|
||||
[DefaultValue(0)]
|
||||
[DisplayName("Full THEM")]
|
||||
public int FullTMEM { get; set; }
|
||||
|
||||
[DefaultValue(false)]
|
||||
[DisplayName("Text Size Method 2")]
|
||||
public bool TxtSizeMethod2 { get; set; }
|
||||
|
||||
[DefaultValue(false)]
|
||||
[DisplayName("Enable Txt LOD")]
|
||||
public bool EnableTxtLOD { get; set; }
|
||||
|
||||
[DefaultValue(0)]
|
||||
[DisplayName("Fast Texture CRC")]
|
||||
public int FastTextureCRC { get; set; }
|
||||
|
||||
[DefaultValue(0)]
|
||||
[DisplayName("Emulate Clear")]
|
||||
public bool EmulateClear { get; set; }
|
||||
|
||||
[DefaultValue(false)]
|
||||
[DisplayName("Force Screen Clear")]
|
||||
public bool ForceScreenClear { get; set; }
|
||||
|
||||
[DefaultValue(0)]
|
||||
[DisplayName("Accurate Texture Mapping Hack")]
|
||||
public int AccurateTextureMappingHack { get; set; }
|
||||
|
||||
[DefaultValue(0)]
|
||||
[DisplayName("Normal Blender")]
|
||||
public int NormalBlender { get; set; }
|
||||
|
||||
[DefaultValue(false)]
|
||||
[DisplayName("Disable Blender")]
|
||||
public bool DisableBlender { get; set; }
|
||||
|
||||
[DefaultValue(false)]
|
||||
[DisplayName("Force Depth Buffer")]
|
||||
public bool ForceDepthBuffer { get; set; }
|
||||
|
||||
[DefaultValue(false)]
|
||||
[DisplayName("Disable Obj BG")]
|
||||
public bool DisableObjBG { get; set; }
|
||||
|
||||
[DefaultValue(0)]
|
||||
[DisplayName("Frame Buffer Option")]
|
||||
public int FrameBufferOption { get; set; }
|
||||
|
||||
[DefaultValue(0)]
|
||||
[DisplayName("Render to Texture Option")]
|
||||
public int RenderToTextureOption { get; set; }
|
||||
|
||||
[DefaultValue(0)]
|
||||
[DisplayName("Screen Update Setting Hack")]
|
||||
public int ScreenUpdateSettingHack { get; set; }
|
||||
|
||||
[DefaultValue(0)]
|
||||
[DisplayName("Enable Hacks for Game")]
|
||||
public int EnableHacksForGame { get; set; }
|
||||
|
||||
public N64RicePluginSettings Clone()
|
||||
{
|
||||
return (N64RicePluginSettings)MemberwiseClone();
|
||||
}
|
||||
|
||||
public void FillPerGameHacks(GameInfo game)
|
||||
{
|
||||
if (UseDefaultHacks)
|
||||
{
|
||||
DisableTextureCRC = game.GetBool("RiceDisableTextureCRC", false);
|
||||
DisableCulling = game.GetBool("RiceDisableCulling", false);
|
||||
IncTexRectEdge = game.GetBool("RiceIncTexRectEdge", false);
|
||||
ZHack = game.GetBool("RiceZHack", false);
|
||||
TextureScaleHack = game.GetBool("RiceTextureScaleHack", false);
|
||||
PrimaryDepthHack = game.GetBool("RicePrimaryDepthHack", false);
|
||||
Texture1Hack = game.GetBool("RiceTexture1Hack", false);
|
||||
FastLoadTile = game.GetBool("RiceFastLoadTile", false);
|
||||
UseSmallerTexture = game.GetBool("RiceUseSmallerTexture", false);
|
||||
VIWidth = game.GetInt("RiceVIWidth", -1);
|
||||
VIHeight = game.GetInt("RiceVIHeight", -1);
|
||||
UseCIWidthAndRatio = game.GetInt("RiceUseCIWidthAndRatio", 0);
|
||||
FullTMEM = game.GetInt("RiceFullTMEM", 0);
|
||||
TxtSizeMethod2 = game.GetBool("RiceTxtSizeMethod2", false);
|
||||
EnableTxtLOD = game.GetBool("RiceEnableTxtLOD", false);
|
||||
FastTextureCRC = game.GetInt("RiceFastTextureCRC", 0);
|
||||
EmulateClear = game.GetBool("RiceEmulateClear", false);
|
||||
ForceScreenClear = game.GetBool("RiceForceScreenClear", false);
|
||||
AccurateTextureMappingHack = game.GetInt("RiceAccurateTextureMappingHack", 0);
|
||||
NormalBlender = game.GetInt("RiceNormalBlender", 0);
|
||||
DisableBlender = game.GetBool("RiceDisableBlender", false);
|
||||
ForceDepthBuffer = game.GetBool("RiceForceDepthBuffer", false);
|
||||
DisableObjBG = game.GetBool("RiceDisableObjBG", false);
|
||||
FrameBufferOption = game.GetInt("RiceFrameBufferOption", 0);
|
||||
RenderToTextureOption = game.GetInt("RiceRenderToTextureOption", 0);
|
||||
ScreenUpdateSettingHack = game.GetInt("RiceScreenUpdateSettingHack", 0);
|
||||
EnableHacksForGame = game.GetInt("RiceEnableHacksForGame", 0);
|
||||
}
|
||||
}
|
||||
|
||||
public Dictionary<string, object> GetPluginSettings()
|
||||
{
|
||||
//TODO: deal witn the game depedent settings
|
||||
var dictionary = new Dictionary<string, object>();
|
||||
var members = this.GetType().GetFields();
|
||||
foreach (var member in members)
|
||||
{
|
||||
var field = this.GetType().GetField(member.Name).GetValue(this);
|
||||
dictionary.Add(member.Name, field);
|
||||
}
|
||||
|
||||
return dictionary;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -6,22 +6,7 @@ using System.ComponentModel;
|
|||
|
||||
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 partial class N64SyncSettings
|
||||
{
|
||||
public CORETYPE CoreType = CORETYPE.Dynarec;
|
||||
|
||||
|
@ -48,7 +33,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.N64
|
|||
Rsp_Z64_hlevideo = 1
|
||||
}
|
||||
|
||||
public PLUGINTYPE VidPlugin = PLUGINTYPE.RICE;
|
||||
public PluginType VidPlugin = PluginType.RICE;
|
||||
|
||||
public N64ControllerSettings[] Controllers =
|
||||
{
|
||||
|
@ -86,10 +71,10 @@ namespace BizHawk.Emulation.Cores.Nintendo.N64
|
|||
switch (VidPlugin)
|
||||
{
|
||||
// clone so per game hacks don't overwrite our settings object
|
||||
case PLUGINTYPE.GLIDE: ips = GlidePlugin.Clone(); break;
|
||||
case PLUGINTYPE.GLIDE64MK2: ips = Glide64mk2Plugin.Clone(); break;
|
||||
case PLUGINTYPE.RICE: ips = RicePlugin.Clone(); break;
|
||||
case PLUGINTYPE.JABO: ips = JaboPlugin.Clone(); break;
|
||||
case PluginType.GLIDE: ips = GlidePlugin.Clone(); break;
|
||||
case PluginType.GLIDE64MK2: ips = Glide64mk2Plugin.Clone(); break;
|
||||
case PluginType.RICE: ips = RicePlugin.Clone(); break;
|
||||
case PluginType.JABO: ips = JaboPlugin.Clone(); break;
|
||||
}
|
||||
ips.FillPerGameHacks(game);
|
||||
ret.Parameters = ips.GetPluginSettings();
|
||||
|
@ -97,7 +82,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.N64
|
|||
}
|
||||
}
|
||||
|
||||
public enum PLUGINTYPE
|
||||
public enum PluginType
|
||||
{
|
||||
[Description("Rice")]
|
||||
RICE,
|
||||
|
@ -114,700 +99,11 @@ namespace BizHawk.Emulation.Cores.Nintendo.N64
|
|||
|
||||
public interface IPluginSettings
|
||||
{
|
||||
PLUGINTYPE PluginType { get; }
|
||||
PluginType PluginType { get; }
|
||||
Dictionary<string, object> GetPluginSettings();
|
||||
void FillPerGameHacks(GameInfo game);
|
||||
}
|
||||
|
||||
public class N64RicePluginSettings : IPluginSettings
|
||||
{
|
||||
public N64RicePluginSettings()
|
||||
{
|
||||
FrameBufferSetting = 0;
|
||||
FrameBufferWriteBackControl = 0;
|
||||
RenderToTexture = 0;
|
||||
ScreenUpdateSetting = 4;
|
||||
Mipmapping = 2;
|
||||
FogMethod = 0;
|
||||
ForceTextureFilter = 0;
|
||||
TextureEnhancement = 0;
|
||||
TextureEnhancementControl = 0;
|
||||
TextureQuality = 0;
|
||||
OpenGLDepthBufferSetting = 16;
|
||||
MultiSampling = 0;
|
||||
ColorQuality = 0;
|
||||
OpenGLRenderSetting = 0;
|
||||
AnisotropicFiltering = 0;
|
||||
|
||||
NormalAlphaBlender = false;
|
||||
FastTextureLoading = false;
|
||||
AccurateTextureMapping = true;
|
||||
InN64Resolution = false;
|
||||
SaveVRAM = false;
|
||||
DoubleSizeForSmallTxtrBuf = false;
|
||||
DefaultCombinerDisable = false;
|
||||
EnableHacks = true;
|
||||
WinFrameMode = false;
|
||||
FullTMEMEmulation = false;
|
||||
OpenGLVertexClipper = false;
|
||||
EnableSSE = true;
|
||||
EnableVertexShader = false;
|
||||
SkipFrame = false;
|
||||
TexRectOnly = false;
|
||||
SmallTextureOnly = false;
|
||||
LoadHiResCRCOnly = true;
|
||||
LoadHiResTextures = false;
|
||||
DumpTexturesToFiles = false;
|
||||
|
||||
UseDefaultHacks = true;
|
||||
DisableTextureCRC = false;
|
||||
DisableCulling = false;
|
||||
IncTexRectEdge = false;
|
||||
ZHack = false;
|
||||
TextureScaleHack = false;
|
||||
PrimaryDepthHack = false;
|
||||
Texture1Hack = false;
|
||||
FastLoadTile = false;
|
||||
UseSmallerTexture = false;
|
||||
VIWidth = -1;
|
||||
VIHeight = -1;
|
||||
UseCIWidthAndRatio = 0;
|
||||
FullTMEM = 0;
|
||||
TxtSizeMethod2 = false;
|
||||
EnableTxtLOD = false;
|
||||
FastTextureCRC = 0;
|
||||
EmulateClear = false;
|
||||
ForceScreenClear = false;
|
||||
AccurateTextureMappingHack = 0;
|
||||
NormalBlender = 0;
|
||||
DisableBlender = false;
|
||||
ForceDepthBuffer = false;
|
||||
DisableObjBG = false;
|
||||
FrameBufferOption = 0;
|
||||
RenderToTextureOption = 0;
|
||||
ScreenUpdateSettingHack = 0;
|
||||
EnableHacksForGame = 0;
|
||||
}
|
||||
|
||||
[JsonIgnore]
|
||||
[Description("Plugin Type")]
|
||||
public PLUGINTYPE PluginType
|
||||
{
|
||||
get { return PLUGINTYPE.RICE; }
|
||||
}
|
||||
|
||||
public void FillPerGameHacks(GameInfo game)
|
||||
{
|
||||
if (UseDefaultHacks)
|
||||
{
|
||||
DisableTextureCRC = game.GetBool("RiceDisableTextureCRC", false);
|
||||
DisableCulling = game.GetBool("RiceDisableCulling", false);
|
||||
IncTexRectEdge = game.GetBool("RiceIncTexRectEdge", false);
|
||||
ZHack = game.GetBool("RiceZHack", false);
|
||||
TextureScaleHack = game.GetBool("RiceTextureScaleHack", false);
|
||||
PrimaryDepthHack = game.GetBool("RicePrimaryDepthHack", false);
|
||||
Texture1Hack = game.GetBool("RiceTexture1Hack", false);
|
||||
FastLoadTile = game.GetBool("RiceFastLoadTile", false);
|
||||
UseSmallerTexture = game.GetBool("RiceUseSmallerTexture", false);
|
||||
VIWidth = game.GetInt("RiceVIWidth", -1);
|
||||
VIHeight = game.GetInt("RiceVIHeight", -1);
|
||||
UseCIWidthAndRatio = game.GetInt("RiceUseCIWidthAndRatio", 0);
|
||||
FullTMEM = game.GetInt("RiceFullTMEM", 0);
|
||||
TxtSizeMethod2 = game.GetBool("RiceTxtSizeMethod2", false);
|
||||
EnableTxtLOD = game.GetBool("RiceEnableTxtLOD", false);
|
||||
FastTextureCRC = game.GetInt("RiceFastTextureCRC", 0);
|
||||
EmulateClear = game.GetBool("RiceEmulateClear", false);
|
||||
ForceScreenClear = game.GetBool("RiceForceScreenClear", false);
|
||||
AccurateTextureMappingHack = game.GetInt("RiceAccurateTextureMappingHack", 0);
|
||||
NormalBlender = game.GetInt("RiceNormalBlender", 0);
|
||||
DisableBlender = game.GetBool("RiceDisableBlender", false);
|
||||
ForceDepthBuffer = game.GetBool("RiceForceDepthBuffer", false);
|
||||
DisableObjBG = game.GetBool("RiceDisableObjBG", false);
|
||||
FrameBufferOption = game.GetInt("RiceFrameBufferOption", 0);
|
||||
RenderToTextureOption = game.GetInt("RiceRenderToTextureOption", 0);
|
||||
ScreenUpdateSettingHack = game.GetInt("RiceScreenUpdateSettingHack", 0);
|
||||
EnableHacksForGame = game.GetInt("RiceEnableHacksForGame", 0);
|
||||
}
|
||||
}
|
||||
|
||||
public Dictionary<string, object> GetPluginSettings()
|
||||
{
|
||||
//TODO: deal witn the game depedent settings
|
||||
var dictionary = new Dictionary<string, object>();
|
||||
var members = this.GetType().GetFields();
|
||||
foreach (var member in members)
|
||||
{
|
||||
var field = this.GetType().GetField(member.Name).GetValue(this);
|
||||
dictionary.Add(member.Name, field);
|
||||
}
|
||||
|
||||
return dictionary;
|
||||
}
|
||||
|
||||
public int FrameBufferSetting { get; set; }
|
||||
public int FrameBufferWriteBackControl { get; set; }
|
||||
public int RenderToTexture { get; set; }
|
||||
public int ScreenUpdateSetting { get; set; }
|
||||
public int Mipmapping { get; set; }
|
||||
public int FogMethod { get; set; }
|
||||
public int ForceTextureFilter { get; set; }
|
||||
public int TextureEnhancement { get; set; }
|
||||
public int TextureEnhancementControl { get; set; }
|
||||
public int TextureQuality { get; set; }
|
||||
public int OpenGLDepthBufferSetting { get; set; }
|
||||
public int MultiSampling { get; set; }
|
||||
public int ColorQuality { get; set; }
|
||||
public int OpenGLRenderSetting { get; set; }
|
||||
public int AnisotropicFiltering { get; set; }
|
||||
|
||||
public bool NormalAlphaBlender { get; set; }
|
||||
public bool FastTextureLoading { get; set; }
|
||||
public bool AccurateTextureMapping { get; set; }
|
||||
public bool InN64Resolution { get; set; }
|
||||
public bool SaveVRAM { get; set; }
|
||||
public bool DoubleSizeForSmallTxtrBuf { get; set; }
|
||||
public bool DefaultCombinerDisable { get; set; }
|
||||
public bool EnableHacks { get; set; }
|
||||
public bool WinFrameMode { get; set; }
|
||||
public bool FullTMEMEmulation { get; set; }
|
||||
public bool OpenGLVertexClipper { get; set; }
|
||||
public bool EnableSSE { get; set; }
|
||||
public bool EnableVertexShader { get; set; }
|
||||
public bool SkipFrame { get; set; }
|
||||
public bool TexRectOnly { get; set; }
|
||||
public bool SmallTextureOnly { get; set; }
|
||||
public bool LoadHiResCRCOnly { get; set; }
|
||||
public bool LoadHiResTextures { get; set; }
|
||||
public bool DumpTexturesToFiles { get; set; }
|
||||
|
||||
public bool UseDefaultHacks { get; set; }
|
||||
public bool DisableTextureCRC { get; set; }
|
||||
public bool DisableCulling { get; set; }
|
||||
public bool IncTexRectEdge { get; set; }
|
||||
public bool ZHack { get; set; }
|
||||
public bool TextureScaleHack { get; set; }
|
||||
public bool PrimaryDepthHack { get; set; }
|
||||
public bool Texture1Hack { get; set; }
|
||||
public bool FastLoadTile { get; set; }
|
||||
public bool UseSmallerTexture { get; set; }
|
||||
public int VIWidth { get; set; }
|
||||
public int VIHeight { get; set; }
|
||||
public int UseCIWidthAndRatio { get; set; }
|
||||
public int FullTMEM { get; set; }
|
||||
public bool TxtSizeMethod2 { get; set; }
|
||||
public bool EnableTxtLOD { get; set; }
|
||||
public int FastTextureCRC { get; set; }
|
||||
public bool EmulateClear { get; set; }
|
||||
public bool ForceScreenClear { get; set; }
|
||||
public int AccurateTextureMappingHack { get; set; }
|
||||
public int NormalBlender { get; set; }
|
||||
public bool DisableBlender { get; set; }
|
||||
public bool ForceDepthBuffer { get; set; }
|
||||
public bool DisableObjBG { get; set; }
|
||||
public int FrameBufferOption { get; set; }
|
||||
public int RenderToTextureOption { get; set; }
|
||||
public int ScreenUpdateSettingHack { get; set; }
|
||||
public int EnableHacksForGame { get; set; }
|
||||
|
||||
public N64RicePluginSettings Clone()
|
||||
{
|
||||
return (N64RicePluginSettings)MemberwiseClone();
|
||||
}
|
||||
}
|
||||
|
||||
public class N64GlidePluginSettings : IPluginSettings
|
||||
{
|
||||
public N64GlidePluginSettings()
|
||||
{
|
||||
wfmode = 1;
|
||||
wireframe = false;
|
||||
card_id = 0;
|
||||
flame_corona = false;
|
||||
ucode = 2;
|
||||
autodetect_ucode = true;
|
||||
motionblur = false;
|
||||
fb_read_always = false;
|
||||
unk_as_red = false;
|
||||
filter_cache = false;
|
||||
fast_crc = false;
|
||||
disable_auxbuf = false;
|
||||
fbo = false;
|
||||
noglsl = true;
|
||||
noditheredalpha = true;
|
||||
tex_filter = 0;
|
||||
fb_render = false;
|
||||
wrap_big_tex = false;
|
||||
use_sts1_only = false;
|
||||
soft_depth_compare = false;
|
||||
PPL = false;
|
||||
fb_optimize_write = false;
|
||||
fb_optimize_texrect = true;
|
||||
increase_texrect_edge = false;
|
||||
increase_primdepth = false;
|
||||
fb_ignore_previous = false;
|
||||
fb_ignore_aux_copy = false;
|
||||
fb_hires_buf_clear = true;
|
||||
force_microcheck = false;
|
||||
force_depth_compare = false;
|
||||
fog = true;
|
||||
fillcolor_fix = false;
|
||||
fb_smart = false;
|
||||
fb_read_alpha = false;
|
||||
fb_get_info = false;
|
||||
fb_hires = true;
|
||||
fb_clear = false;
|
||||
detect_cpu_write = false;
|
||||
decrease_fillrect_edge = false;
|
||||
buff_clear = true;
|
||||
alt_tex_size = false;
|
||||
UseDefaultHacks = true;
|
||||
enable_hacks_for_game = 0;
|
||||
swapmode = 1;
|
||||
stipple_pattern = 1041204192;
|
||||
stipple_mode = 2;
|
||||
scale_y = 100000;
|
||||
scale_x = 100000;
|
||||
offset_y = 0;
|
||||
offset_x = 0;
|
||||
lodmode = 0;
|
||||
fix_tex_coord = 0;
|
||||
filtering = 1;
|
||||
depth_bias = 20;
|
||||
}
|
||||
|
||||
[JsonIgnore]
|
||||
public PLUGINTYPE PluginType
|
||||
{
|
||||
get { return PLUGINTYPE.GLIDE; }
|
||||
}
|
||||
|
||||
public void FillPerGameHacks(GameInfo game)
|
||||
{
|
||||
if (UseDefaultHacks)
|
||||
{
|
||||
alt_tex_size = game.GetBool("Glide_alt_tex_size", false);
|
||||
buff_clear = game.GetBool("Glide_buff_clear", true);
|
||||
decrease_fillrect_edge = game.GetBool("Glide_decrease_fillrect_edge", false);
|
||||
detect_cpu_write = game.GetBool("Glide_detect_cpu_write", false);
|
||||
fb_clear = game.GetBool("Glide_fb_clear", false);
|
||||
fb_hires = game.GetBool("Glide_fb_clear", true);
|
||||
fb_read_alpha = game.GetBool("Glide_fb_read_alpha", false);
|
||||
fb_smart = game.GetBool("Glide_fb_smart", false);
|
||||
fillcolor_fix = game.GetBool("Glide_fillcolor_fix", false);
|
||||
fog = game.GetBool("Glide_fog", true);
|
||||
force_depth_compare = game.GetBool("Glide_force_depth_compare", false);
|
||||
force_microcheck = game.GetBool("Glide_force_microcheck", false);
|
||||
fb_hires_buf_clear = game.GetBool("Glide_fb_hires_buf_clear", true);
|
||||
fb_ignore_aux_copy = game.GetBool("Glide_fb_ignore_aux_copy", false);
|
||||
fb_ignore_previous = game.GetBool("Glide_fb_ignore_previous", false);
|
||||
increase_primdepth = game.GetBool("Glide_increase_primdepth", false);
|
||||
increase_texrect_edge = game.GetBool("Glide_increase_texrect_edge", false);
|
||||
fb_optimize_texrect = game.GetBool("Glide_fb_optimize_texrect", true);
|
||||
fb_optimize_write = game.GetBool("Glide_fb_optimize_write", false);
|
||||
PPL = game.GetBool("Glide_PPL", false);
|
||||
soft_depth_compare = game.GetBool("Glide_soft_depth_compare", false);
|
||||
use_sts1_only = game.GetBool("Glide_use_sts1_only", false);
|
||||
wrap_big_tex = game.GetBool("Glide_wrap_big_tex", false);
|
||||
|
||||
depth_bias = game.GetInt("Glide_depth_bias", 20);
|
||||
filtering = game.GetInt("Glide_filtering", 1);
|
||||
fix_tex_coord = game.GetInt("Glide_fix_tex_coord", 0);
|
||||
lodmode = game.GetInt("Glide_lodmode", 0);
|
||||
|
||||
stipple_mode = game.GetInt("Glide_stipple_mode", 2);
|
||||
stipple_pattern = game.GetInt("Glide_stipple_pattern", 1041204192);
|
||||
swapmode = game.GetInt("Glide_swapmode", 1);
|
||||
enable_hacks_for_game = game.GetInt("Glide_enable_hacks_for_game", 0);
|
||||
}
|
||||
}
|
||||
|
||||
public Dictionary<string, object> GetPluginSettings()
|
||||
{
|
||||
//TODO: deal witn the game depedent settings
|
||||
Dictionary<string, object> dictionary = new Dictionary<string, object>();
|
||||
System.Reflection.FieldInfo[] members = this.GetType().GetFields();
|
||||
foreach (System.Reflection.FieldInfo member in members)
|
||||
{
|
||||
object field = this.GetType().GetField(member.Name).GetValue(this);
|
||||
dictionary.Add(member.Name, field);
|
||||
}
|
||||
|
||||
return dictionary;
|
||||
}
|
||||
|
||||
public int wfmode { get; set; }
|
||||
public bool wireframe { get; set; }
|
||||
public int card_id { get; set; }
|
||||
public bool flame_corona { get; set; }
|
||||
public int ucode { get; set; }
|
||||
public bool autodetect_ucode { get; set; }
|
||||
public bool motionblur { get; set; }
|
||||
public bool fb_read_always { get; set; }
|
||||
public bool unk_as_red { get; set; }
|
||||
public bool filter_cache { get; set; }
|
||||
public bool fast_crc { get; set; }
|
||||
public bool disable_auxbuf { get; set; }
|
||||
public bool fbo { get; set; }
|
||||
public bool noglsl { get; set; }
|
||||
public bool noditheredalpha { get; set; }
|
||||
public int tex_filter { get; set; }
|
||||
public bool fb_render { get; set; }
|
||||
public bool wrap_big_tex { get; set; }
|
||||
public bool use_sts1_only { get; set; }
|
||||
public bool soft_depth_compare { get; set; }
|
||||
public bool PPL { get; set; }
|
||||
public bool fb_optimize_write { get; set; }
|
||||
public bool fb_optimize_texrect { get; set; }
|
||||
public bool increase_texrect_edge { get; set; }
|
||||
public bool increase_primdepth { get; set; }
|
||||
public bool fb_ignore_previous { get; set; }
|
||||
public bool fb_ignore_aux_copy { get; set; }
|
||||
public bool fb_hires_buf_clear { get; set; }
|
||||
public bool force_microcheck { get; set; }
|
||||
public bool force_depth_compare { get; set; }
|
||||
public bool fog { get; set; }
|
||||
public bool fillcolor_fix { get; set; }
|
||||
public bool fb_smart { get; set; }
|
||||
public bool fb_read_alpha { get; set; }
|
||||
public bool fb_get_info { get; set; }
|
||||
public bool fb_hires { get; set; }
|
||||
public bool fb_clear { get; set; }
|
||||
public bool detect_cpu_write { get; set; }
|
||||
public bool decrease_fillrect_edge { get; set; }
|
||||
public bool buff_clear { get; set; }
|
||||
public bool alt_tex_size { get; set; }
|
||||
public bool UseDefaultHacks { get; set; }
|
||||
public int enable_hacks_for_game { get; set; }
|
||||
public int swapmode { get; set; }
|
||||
public int stipple_pattern { get; set; }
|
||||
public int stipple_mode { get; set; }
|
||||
public int scale_y { get; set; }
|
||||
public int scale_x { get; set; }
|
||||
public int offset_y { get; set; }
|
||||
public int offset_x { get; set; }
|
||||
public int lodmode { get; set; }
|
||||
public int fix_tex_coord { get; set; }
|
||||
public int filtering { get; set; }
|
||||
public int depth_bias { get; set; }
|
||||
|
||||
public N64GlidePluginSettings Clone()
|
||||
{
|
||||
return (N64GlidePluginSettings)MemberwiseClone();
|
||||
}
|
||||
}
|
||||
|
||||
public class N64Glide64mk2PluginSettings : IPluginSettings
|
||||
{
|
||||
public N64Glide64mk2PluginSettings()
|
||||
{
|
||||
wrpFBO = true;
|
||||
card_id = 0;
|
||||
use_sts1_only = false;
|
||||
optimize_texrect = true;
|
||||
increase_texrect_edge = false;
|
||||
ignore_aux_copy = false;
|
||||
hires_buf_clear = true;
|
||||
force_microcheck = false;
|
||||
fog = true;
|
||||
fb_smart = false;
|
||||
fb_read_alpha = false;
|
||||
fb_hires = true;
|
||||
detect_cpu_write = false;
|
||||
decrease_fillrect_edge = false;
|
||||
buff_clear = true;
|
||||
alt_tex_size = false;
|
||||
swapmode = 1;
|
||||
stipple_pattern = 1041204192;
|
||||
stipple_mode = 2;
|
||||
lodmode = 0;
|
||||
filtering = 0;
|
||||
wrpAnisotropic = false;
|
||||
correct_viewport = false;
|
||||
force_calc_sphere = false;
|
||||
pal230 = false;
|
||||
texture_correction = true;
|
||||
n64_z_scale = false;
|
||||
old_style_adither = false;
|
||||
zmode_compare_less = false;
|
||||
adjust_aspect = true;
|
||||
clip_zmax = true;
|
||||
clip_zmin = false;
|
||||
force_quad3d = false;
|
||||
useless_is_useless = false;
|
||||
fb_read_always = false;
|
||||
fb_get_info = false;
|
||||
fb_render = true;
|
||||
aspectmode = 0;
|
||||
fb_crc_mode = 1;
|
||||
fast_crc = true;
|
||||
UseDefaultHacks = true;
|
||||
enable_hacks_for_game = 0;
|
||||
read_back_to_screen = 0;
|
||||
}
|
||||
|
||||
[JsonIgnore]
|
||||
public PLUGINTYPE PluginType
|
||||
{
|
||||
get { return PLUGINTYPE.GLIDE64MK2; }
|
||||
}
|
||||
|
||||
public void FillPerGameHacks(GameInfo game)
|
||||
{
|
||||
if (UseDefaultHacks)
|
||||
{
|
||||
use_sts1_only = game.GetBool("Glide64mk2_use_sts1_only", false);
|
||||
optimize_texrect = game.GetBool("Glide64mk2_optimize_texrect", true);
|
||||
increase_texrect_edge = game.GetBool("Glide64mk2_increase_texrect_edge", false);
|
||||
ignore_aux_copy = game.GetBool("Glide64mk2_ignore_aux_copy", false);
|
||||
hires_buf_clear = game.GetBool("Glide64mk2_hires_buf_clear", true);
|
||||
force_microcheck = game.GetBool("Glide64mk2_force_microcheck", false);
|
||||
fog = game.GetBool("Glide64mk2_fog", true);
|
||||
fb_smart = game.GetBool("Glide64mk2_fb_smart", false);
|
||||
fb_read_alpha = game.GetBool("Glide64mk2_fb_read_alpha", false);
|
||||
fb_hires = game.GetBool("Glide64mk2_fb_hires", true);
|
||||
detect_cpu_write = game.GetBool("Glide64mk2_detect_cpu_write", false);
|
||||
decrease_fillrect_edge = game.GetBool("Glide64mk2_decrease_fillrect_edge", false);
|
||||
buff_clear = game.GetBool("Glide64mk2_buff_clear", true);
|
||||
alt_tex_size = game.GetBool("Glide64mk2_alt_tex_size", true);
|
||||
swapmode = game.GetInt("Glide64mk2_swapmode", 1);
|
||||
stipple_pattern = game.GetInt("Glide64mk2_stipple_pattern", 1041204192);
|
||||
stipple_mode = game.GetInt("Glide64mk2_stipple_mode", 2);
|
||||
lodmode = game.GetInt("Glide64mk2_lodmode", 0);
|
||||
filtering = game.GetInt("Glide64mk2_filtering", 0);
|
||||
correct_viewport = game.GetBool("Glide64mk2_correct_viewport", false);
|
||||
force_calc_sphere = game.GetBool("Glide64mk2_force_calc_sphere", false);
|
||||
pal230 = game.GetBool("Glide64mk2_pal230", false);
|
||||
texture_correction = game.GetBool("Glide64mk2_texture_correction", true);
|
||||
n64_z_scale = game.GetBool("Glide64mk2_n64_z_scale", false);
|
||||
old_style_adither = game.GetBool("Glide64mk2_old_style_adither", false);
|
||||
zmode_compare_less = game.GetBool("Glide64mk2_zmode_compare_less", false);
|
||||
adjust_aspect = game.GetBool("Glide64mk2_adjust_aspect", true);
|
||||
clip_zmax = game.GetBool("Glide64mk2_clip_zmax", true);
|
||||
clip_zmin = game.GetBool("Glide64mk2_clip_zmin", false);
|
||||
force_quad3d = game.GetBool("Glide64mk2_force_quad3d", false);
|
||||
useless_is_useless = game.GetBool("Glide64mk2_useless_is_useless", false);
|
||||
fb_read_always = game.GetBool("Glide64mk2_fb_read_always", false);
|
||||
aspectmode = game.GetInt("Glide64mk2_aspectmode", 0);
|
||||
fb_crc_mode = game.GetInt("Glide64mk2_fb_crc_mode", 1);
|
||||
enable_hacks_for_game = game.GetInt("Glide64mk2_enable_hacks_for_game", 0);
|
||||
read_back_to_screen = game.GetInt("Glide64mk2_read_back_to_screen", 0);
|
||||
fast_crc = game.GetBool("Glide64mk2_fast_crc", true);
|
||||
}
|
||||
}
|
||||
|
||||
public Dictionary<string, object> GetPluginSettings()
|
||||
{
|
||||
//TODO: deal witn the game depedent settings
|
||||
Dictionary<string, object> dictionary = new Dictionary<string, object>();
|
||||
System.Reflection.FieldInfo[] members = this.GetType().GetFields();
|
||||
foreach (System.Reflection.FieldInfo member in members)
|
||||
{
|
||||
object field = this.GetType().GetField(member.Name).GetValue(this);
|
||||
dictionary.Add(member.Name, field);
|
||||
}
|
||||
return dictionary;
|
||||
}
|
||||
|
||||
public bool wrpFBO { get; set; }
|
||||
public int card_id { get; set; }
|
||||
public bool use_sts1_only { get; set; }
|
||||
public bool optimize_texrect { get; set; }
|
||||
public bool increase_texrect_edge { get; set; }
|
||||
public bool ignore_aux_copy { get; set; }
|
||||
public bool hires_buf_clear { get; set; }
|
||||
public bool force_microcheck { get; set; }
|
||||
public bool fog { get; set; }
|
||||
public bool fb_smart { get; set; }
|
||||
public bool fb_read_alpha { get; set; }
|
||||
public bool fb_hires { get; set; }
|
||||
public bool detect_cpu_write { get; set; }
|
||||
public bool decrease_fillrect_edge { get; set; }
|
||||
public bool buff_clear { get; set; }
|
||||
public bool alt_tex_size { get; set; }
|
||||
public int swapmode { get; set; }
|
||||
public int stipple_pattern { get; set; }
|
||||
public int stipple_mode { get; set; }
|
||||
public int lodmode { get; set; }
|
||||
public int filtering { get; set; }
|
||||
public bool wrpAnisotropic { get; set; }
|
||||
public bool correct_viewport { get; set; }
|
||||
public bool force_calc_sphere { get; set; }
|
||||
public bool pal230 { get; set; }
|
||||
public bool texture_correction { get; set; }
|
||||
public bool n64_z_scale { get; set; }
|
||||
public bool old_style_adither { get; set; }
|
||||
public bool zmode_compare_less { get; set; }
|
||||
public bool adjust_aspect { get; set; }
|
||||
public bool clip_zmax { get; set; }
|
||||
public bool clip_zmin { get; set; }
|
||||
public bool force_quad3d { get; set; }
|
||||
public bool useless_is_useless { get; set; }
|
||||
public bool fb_read_always { get; set; }
|
||||
public bool fb_get_info { get; set; }
|
||||
public bool fb_render { get; set; }
|
||||
public int aspectmode { get; set; }
|
||||
public int fb_crc_mode { get; set; }
|
||||
public bool fast_crc { get; set; }
|
||||
public bool UseDefaultHacks { get; set; }
|
||||
public int enable_hacks_for_game { get; set; }
|
||||
public int read_back_to_screen { get; set; }
|
||||
|
||||
public N64Glide64mk2PluginSettings Clone()
|
||||
{
|
||||
return (N64Glide64mk2PluginSettings)MemberwiseClone();
|
||||
}
|
||||
}
|
||||
|
||||
public class N64JaboPluginSettings : IPluginSettings
|
||||
{
|
||||
public N64JaboPluginSettings()
|
||||
{
|
||||
anisotropic_level = ANISOTROPIC_FILTERING_LEVEL.four_times;
|
||||
brightness = 100;
|
||||
super2xsal = false;
|
||||
texture_filter = false;
|
||||
adjust_aspect_ratio = false;
|
||||
legacy_pixel_pipeline = false;
|
||||
alpha_blending = false;
|
||||
wireframe = false;
|
||||
direct3d_transformation_pipeline = false;
|
||||
z_compare = false;
|
||||
copy_framebuffer = false;
|
||||
resolution_width = -1;
|
||||
resolution_height = -1;
|
||||
clear_mode = DIRECT3D_CLEAR_MODE.def;
|
||||
}
|
||||
|
||||
[JsonIgnore]
|
||||
public PLUGINTYPE PluginType
|
||||
{
|
||||
get { return PLUGINTYPE.JABO; }
|
||||
}
|
||||
|
||||
public void FillPerGameHacks(GameInfo game)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public Dictionary<string, object> GetPluginSettings()
|
||||
{
|
||||
//TODO: deal witn the game depedent settings
|
||||
var dictionary = new Dictionary<string, object>();
|
||||
var members = this.GetType().GetFields();
|
||||
foreach (var member in members)
|
||||
{
|
||||
var field = this.GetType().GetField(member.Name).GetValue(this);
|
||||
dictionary.Add(member.Name, field);
|
||||
}
|
||||
|
||||
return dictionary;
|
||||
}
|
||||
|
||||
public enum ANISOTROPIC_FILTERING_LEVEL
|
||||
{
|
||||
[Description("Off")]
|
||||
off = 0,
|
||||
|
||||
[Description("2X")]
|
||||
two_times = 1,
|
||||
|
||||
[Description("4X")]
|
||||
four_times = 2,
|
||||
|
||||
[Description("8X")]
|
||||
eight_times = 3,
|
||||
|
||||
[Description("16X")]
|
||||
sixteen_times = 4
|
||||
}
|
||||
|
||||
[DefaultValue(ANISOTROPIC_FILTERING_LEVEL.four_times)]
|
||||
[Description("Anisotropic filtering level")]
|
||||
//[DisplayName("Anisotropic filtering")]
|
||||
public ANISOTROPIC_FILTERING_LEVEL anisotropic_level { get; set; }
|
||||
|
||||
[DefaultValue(100)]
|
||||
[Description("Brightness level, 100%-190%")]
|
||||
//[DisplayName("Brightness")]
|
||||
public int brightness { get; set; }
|
||||
|
||||
[DefaultValue(false)]
|
||||
[Description("Enables Super2xSal textures")]
|
||||
//[DisplayName("Super2xSal textures")]
|
||||
public bool super2xsal { get; set; }
|
||||
|
||||
[DefaultValue(false)]
|
||||
[Description("Always use texture filter")]
|
||||
//[DisplayName("Always use texture filter")]
|
||||
public bool texture_filter { get; set; }
|
||||
|
||||
[DefaultValue(false)]
|
||||
[Description("Adjust game aspect ratio to match yours")]
|
||||
//[DisplayName("Adjust game aspect ratio to match yours")]
|
||||
public bool adjust_aspect_ratio { get; set; }
|
||||
|
||||
[DefaultValue(false)]
|
||||
[Description("Use legacy pixel pipeline")]
|
||||
//[DisplayName("Use legacy pixel pipeline")]
|
||||
public bool legacy_pixel_pipeline { get; set; }
|
||||
|
||||
[DefaultValue(false)]
|
||||
[Description("Force alpha blending")]
|
||||
//[DisplayName("Force alpha blending")]
|
||||
public bool alpha_blending { get; set; }
|
||||
|
||||
[DefaultValue(false)]
|
||||
[Description("Wireframe rendering")]
|
||||
//[DisplayName("Wireframe rendering")]
|
||||
public bool wireframe { get; set; }
|
||||
|
||||
[DefaultValue(false)]
|
||||
[Description("Use Direct3D transformation pipeline")]
|
||||
//[DisplayName("Use Direct3D transformation pipeline")]
|
||||
public bool direct3d_transformation_pipeline { get; set; }
|
||||
|
||||
[DefaultValue(false)]
|
||||
[Description("Force Z Compare")]
|
||||
//[DisplayName("Force Z Compare")]
|
||||
public bool z_compare { get; set; }
|
||||
|
||||
[DefaultValue(false)]
|
||||
[Description("Copy framebuffer to RDRAM")]
|
||||
//[DisplayName("Copy framebuffer to RDRAM")]
|
||||
public bool copy_framebuffer { get; set; }
|
||||
|
||||
[DefaultValue(-1)]
|
||||
[Description("Emulated Width")]
|
||||
//[DisplayName("Emulated Width")]
|
||||
public int resolution_width { get; set; }
|
||||
|
||||
[DefaultValue(-1)]
|
||||
[Description("Emulated Height")]
|
||||
//[DisplayName("Emulated Height")]
|
||||
public int resolution_height { get; set; }
|
||||
|
||||
public enum DIRECT3D_CLEAR_MODE
|
||||
{
|
||||
[Description("Default")]
|
||||
def = 0,
|
||||
|
||||
[Description("Only Per Frame")]
|
||||
per_frame = 1,
|
||||
|
||||
[Description("Always")]
|
||||
always = 2
|
||||
}
|
||||
[DefaultValue(DIRECT3D_CLEAR_MODE.def)]
|
||||
[Description("Direct3D Clear Mode")]
|
||||
//[DisplayName("Direct3D Clear Mode")]
|
||||
public DIRECT3D_CLEAR_MODE clear_mode { get; set; }
|
||||
|
||||
public N64JaboPluginSettings Clone()
|
||||
{
|
||||
return (N64JaboPluginSettings)MemberwiseClone();
|
||||
}
|
||||
}
|
||||
|
||||
public class N64ControllerSettings
|
||||
{
|
||||
/// <summary>
|
||||
|
|
|
@ -475,15 +475,15 @@ namespace BizHawk.Emulation.Cores.Nintendo.N64.NativeApi
|
|||
public void set_video_parameters(VideoPluginSettings video_settings)
|
||||
{
|
||||
IntPtr video_plugin_section = IntPtr.Zero;
|
||||
if (video_settings.Plugin == PLUGINTYPE.RICE)
|
||||
if (video_settings.Plugin == PluginType.RICE)
|
||||
{
|
||||
m64pConfigOpenSection("Video-Rice", ref video_plugin_section);
|
||||
}
|
||||
else if (video_settings.Plugin == PLUGINTYPE.GLIDE)
|
||||
else if (video_settings.Plugin == PluginType.GLIDE)
|
||||
{
|
||||
m64pConfigOpenSection("Video-Glide64", ref video_plugin_section);
|
||||
}
|
||||
else if (video_settings.Plugin == PLUGINTYPE.GLIDE64MK2)
|
||||
else if (video_settings.Plugin == PluginType.GLIDE64MK2)
|
||||
{
|
||||
m64pConfigOpenSection("Video-Glide64mk2", ref video_plugin_section);
|
||||
}
|
||||
|
|
|
@ -47,16 +47,16 @@ namespace BizHawk.Emulation.Cores.Nintendo.N64.NativeApi
|
|||
switch (settings.Plugin)
|
||||
{
|
||||
default:
|
||||
case PLUGINTYPE.RICE:
|
||||
case PluginType.RICE:
|
||||
videoplugin = "mupen64plus-video-rice.dll";
|
||||
break;
|
||||
case PLUGINTYPE.GLIDE:
|
||||
case PluginType.GLIDE:
|
||||
videoplugin = "mupen64plus-video-glide64.dll";
|
||||
break;
|
||||
case PLUGINTYPE.GLIDE64MK2:
|
||||
case PluginType.GLIDE64MK2:
|
||||
videoplugin = "mupen64plus-video-glide64mk2.dll";
|
||||
break;
|
||||
case PLUGINTYPE.JABO:
|
||||
case PluginType.JABO:
|
||||
videoplugin = "mupen64plus-video-jabo.dll";
|
||||
break;
|
||||
}
|
||||
|
@ -114,7 +114,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.N64.NativeApi
|
|||
|
||||
public class VideoPluginSettings
|
||||
{
|
||||
public PLUGINTYPE Plugin;
|
||||
public PluginType Plugin;
|
||||
//public Dictionary<string, int> IntParameters = new Dictionary<string,int>();
|
||||
//public Dictionary<string, string> StringParameters = new Dictionary<string,string>();
|
||||
|
||||
|
@ -122,7 +122,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.N64.NativeApi
|
|||
public int Height;
|
||||
public int Width;
|
||||
|
||||
public VideoPluginSettings(PLUGINTYPE Plugin, int Width, int Height)
|
||||
public VideoPluginSettings(PluginType Plugin, int Width, int Height)
|
||||
{
|
||||
this.Plugin = Plugin;
|
||||
this.Width = Width;
|
||||
|
|
Loading…
Reference in New Issue