using System.Collections.Generic; using System.ComponentModel; using Newtonsoft.Json; using BizHawk.Emulation.Common; using System.Reflection; namespace BizHawk.Emulation.Cores.Nintendo.N64 { public partial class N64SyncSettings { public class N64JaboPluginSettings : IPluginSettings { public N64JaboPluginSettings() { anisotropic_level = ANISOTROPIC_FILTERING_LEVEL.FourTimes; 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 = Direct3DClearMode.Default; } public PluginType GetPluginType() { return PluginType.Jabo; } public void FillPerGameHacks(GameInfo game) { } [DefaultValue(ANISOTROPIC_FILTERING_LEVEL.FourTimes)] [DisplayName("Anisotropic filtering")] [Description("Anisotropic filtering level")] public ANISOTROPIC_FILTERING_LEVEL anisotropic_level { get; set; } [DefaultValue(ANTIALIASING_LEVEL.Off)] [DisplayName("Full-Scene Antialiasing")] [Description("Full-Scene Antialiasing level")] public ANTIALIASING_LEVEL antialiasing_level { get; set; } [DefaultValue(100)] [DisplayName("Brightness")] [Description("Brightness level, 100%-190%")] public int brightness { get; set; } [DefaultValue(false)] [DisplayName("Super2xSal textures")] [Description("Enables Super2xSal textures")] public bool super2xsal { get; set; } [DefaultValue(false)] [DisplayName("Always use texture filter")] [Description("Always use texture filter")] public bool texture_filter { get; set; } [DefaultValue(false)] [DisplayName("Adjust game aspect ratio to match yours")] [Description("Adjust game aspect ratio to match yours")] public bool adjust_aspect_ratio { get; set; } [DefaultValue(false)] [DisplayName("Use legacy pixel pipeline")] [Description("Use legacy pixel pipeline")] public bool legacy_pixel_pipeline { get; set; } [DefaultValue(false)] [DisplayName("Force alpha blending")] [Description("Force alpha blending")] public bool alpha_blending { get; set; } [DefaultValue(false)] [DisplayName("Wireframe rendering")] [Description("Wireframe rendering")] public bool wireframe { get; set; } [DefaultValue(false)] [DisplayName("Use Direct3D trans pipeline")] [Description("Use Direct3D transformation pipeline")] public bool direct3d_transformation_pipeline { get; set; } [DefaultValue(false)] [DisplayName("Force Z Compare")] [Description("Force Z Compare")] public bool z_compare { get; set; } [DefaultValue(false)] [DisplayName("Copy framebuffer")] [Description("Copy framebuffer to RDRAM")] public bool copy_framebuffer { get; set; } [DefaultValue(-1)] [DisplayName("Emulated Width")] [Description("Emulated Width")] public int resolution_width { get; set; } [DefaultValue(-1)] [DisplayName("Emulated Height")] [Description("Emulated Height")] public int resolution_height { get; set; } [DefaultValue(Direct3DClearMode.Default)] [DisplayName("Direct3D Clear Mode")] [Description("Direct3D Clear Mode")] public Direct3DClearMode clear_mode { get; set; } public enum ANISOTROPIC_FILTERING_LEVEL { [Description("Off")] Off = 0, [Description("2X")] TwoTimes = 1, [Description("4X")] FourTimes = 2, [Description("8X")] EightTimes = 3, [Description("16X")] SixteenTimes = 4 } public enum ANTIALIASING_LEVEL { [Description("Off")] Off = 0, [Description("2X")] TwoTimes = 1, [Description("4X")] FourTimes = 2, [Description("8X")] EightTimes = 3 } public enum Direct3DClearMode { [Description("Default")] Default = 0, [Description("Only Per Frame")] PerFrame = 1, [Description("Always")] Always = 2 } public N64JaboPluginSettings Clone() { return (N64JaboPluginSettings)MemberwiseClone(); } } } }