コード例 #1
0
 private ConfigurationStore(string configurationstoreRoot, IConfigurationProfile defaultProfile)
 {
     if (!Directory.Exists(configurationstoreRoot)) Directory.CreateDirectory(configurationstoreRoot);
     if (!Directory.Exists(Path.Combine(configurationstoreRoot, defaultProfile.TemplateID))) Directory.CreateDirectory(Path.Combine(configurationstoreRoot, defaultProfile.TemplateID));
     this.ConfigurationStorePath = Path.Combine(configurationstoreRoot, defaultProfile.TemplateID);
     if(!File.Exists(Path.Combine(this.ConfigurationStorePath, ".default"))) this.DefaultProfile = defaultProfile;
     this.TemplateID = defaultProfile.TemplateID;
 }
コード例 #2
0
ファイル: EmulatorBridge.cs プロジェクト: faint32/snowflake-1
 public virtual string CompileConfiguration(IConfigurationTemplate configTemplate, IConfigurationProfile configProfile, IGameInfo gameInfo)
 {
     var template = new StringBuilder(configTemplate.StringTemplate);
     foreach (var configurationValue in configProfile.ConfigurationValues)
     {
         Type configurationvalueType = configurationValue.Value.GetType();
         string stringValue = configurationvalueType == typeof(bool) ? configTemplate.BooleanMapping.FromBool(configurationValue.Value) : configurationValue.Value.ToString();
         template.Replace($"{{{configurationValue.Key}}}", stringValue);
     }
     return template.ToString();
 }
コード例 #3
0
        void ProcessFlags(IGameInfo game, ref IConfigurationProfile dolphinCore, ref IConfigurationProfile dolphinGfx)
        {
            var core_speakerdata = this.ConfigurationFlagStore.GetValue(game, "speakerdata", ConfigurationFlagTypes.BOOLEAN_FLAG);

            dolphinCore.ConfigurationValues["WiimoteEnableSpeaker"] = core_speakerdata;

            var core_dualcore = this.ConfigurationFlagStore.GetValue(game, "dualcore", ConfigurationFlagTypes.BOOLEAN_FLAG);

            dolphinCore.ConfigurationValues["CPUThread"] = core_dualcore;

            var core_fullscreen = this.ConfigurationFlagStore.GetValue(game, "fullscreen_mode", ConfigurationFlagTypes.SELECT_FLAG);

            dolphinCore.ConfigurationValues["Fullscreen"] = this.ConfigurationFlags["fullscreen_mode"].SelectValues[core_fullscreen].Value;

            var core_backend = this.ConfigurationFlagStore.GetValue(game, "video_backend", ConfigurationFlagTypes.SELECT_FLAG);

            dolphinGfx.ConfigurationValues["GFXBackend"] = this.ConfigurationFlags["video_backend"].SelectValues[core_backend].Value;

            var core_hle_audio = this.ConfigurationFlagStore.GetValue(game, "hle_audio", ConfigurationFlagTypes.BOOLEAN_FLAG);

            dolphinCore.ConfigurationValues["DSPHLE"] = core_hle_audio;

            var core_cpu_oc = this.ConfigurationFlagStore.GetValue(game, "cpu_oc", ConfigurationFlagTypes.INTEGER_FLAG);

            dolphinCore.ConfigurationValues["OverclockEnable"] = (core_cpu_oc != 100);
            dolphinCore.ConfigurationValues["Overclock"]       = core_cpu_oc / 100d;

            var gfx_internal_res = this.ConfigurationFlagStore.GetValue(game, "internal_res", ConfigurationFlagTypes.SELECT_FLAG);

            dolphinGfx.ConfigurationValues["EFBScale"] = this.ConfigurationFlags["internal_res"].SelectValues[gfx_internal_res].Value;

            var gfx_per_pixel_lighting = this.ConfigurationFlagStore.GetValue(game, "per_pixel_lighting", ConfigurationFlagTypes.BOOLEAN_FLAG);

            dolphinGfx.ConfigurationValues["EnablePixelLighting"] = gfx_per_pixel_lighting;

            var gfx_vsync = this.ConfigurationFlagStore.GetValue(game, "vsync", ConfigurationFlagTypes.BOOLEAN_FLAG);

            dolphinGfx.ConfigurationValues["VSync"] = gfx_vsync;

            var gfx_fps = this.ConfigurationFlagStore.GetValue(game, "fps", ConfigurationFlagTypes.BOOLEAN_FLAG);

            dolphinGfx.ConfigurationValues["ShowFPS"] = gfx_fps;

            var gfx_widescreen_hack = this.ConfigurationFlagStore.GetValue(game, "widescreen_hack", ConfigurationFlagTypes.BOOLEAN_FLAG);

            dolphinGfx.ConfigurationValues["widescreenHack"] = gfx_widescreen_hack;

            var gfx_aspect_ratio = this.ConfigurationFlagStore.GetValue(game, "aspect_ratio", ConfigurationFlagTypes.SELECT_FLAG);

            dolphinGfx.ConfigurationValues["AspectRatio"] = this.ConfigurationFlags["aspect_ratio"].SelectValues[gfx_aspect_ratio].Value;

            var gfx_anisotropic_filtering = this.ConfigurationFlagStore.GetValue(game, "anisotropic_filtering", ConfigurationFlagTypes.SELECT_FLAG);

            dolphinGfx.ConfigurationValues["MaxAnisotropy"] = this.ConfigurationFlags["anisotropic_filtering"].SelectValues[gfx_anisotropic_filtering].Value;

            var gfx_crop = this.ConfigurationFlagStore.GetValue(game, "crop", ConfigurationFlagTypes.BOOLEAN_FLAG);

            dolphinGfx.ConfigurationValues["Crop"] = gfx_crop;

            var gfx_antialiasing_mode = this.ConfigurationFlagStore.GetValue(game, "antialiasing_mode", ConfigurationFlagTypes.SELECT_FLAG);

            var oglMSAALevels = new string[5] {
                "0", /* None */
                "1", /* 2x MSAA */
                "2", /* 4x MSAA */
                "3", /* 8x MSAA */
                "4"  /* 2xSSAA */
            };

            var dxMSAALevels = new string[5] {
                "0",  /* None */
                "1",  /*Level 2 */
                "4",  /* Level 4 */
                "21", /* Level 8 */
                "53"  /* Level 8 (32 Samples) */
            };

            switch (this.ConfigurationFlags["video_backend"].SelectValues[core_backend].Value as string)
            {
            case "D3D":
                dolphinGfx.ConfigurationValues["MSAA"] = dxMSAALevels[gfx_antialiasing_mode];
                break;

            case "OGL":
                dolphinGfx.ConfigurationValues["MSAA"] = oglMSAALevels[gfx_antialiasing_mode];
                break;

            default:
                //If for some reason the backend value is broken, use opengl on the safe side
                dolphinGfx.ConfigurationValues["MSAA"] = oglMSAALevels[gfx_antialiasing_mode];
                break;
            }
        }
コード例 #4
0
ファイル: EmulatorBridge.cs プロジェクト: faint32/snowflake-1
 public virtual string CompileConfiguration(IConfigurationProfile configProfile, IGameInfo gameInfo)
 {
     return this.CompileConfiguration(this.ConfigurationTemplates[configProfile.TemplateID], configProfile, gameInfo);
 }
コード例 #5
0
 public ConfigurationStore(IConfigurationProfile defaultProfile)
     : this(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "Snowflake", "configurationstores"), defaultProfile)
 {
 }
コード例 #6
0
        void ProcessFlags(IGameInfo game, ref IConfigurationProfile dolphinCore, ref IConfigurationProfile dolphinGfx)
        {
            var core_speakerdata = this.ConfigurationFlagStore.GetValue(game, "speakerdata", ConfigurationFlagTypes.BOOLEAN_FLAG);
            dolphinCore.ConfigurationValues["WiimoteEnableSpeaker"] = core_speakerdata;

            var core_dualcore = this.ConfigurationFlagStore.GetValue(game, "dualcore", ConfigurationFlagTypes.BOOLEAN_FLAG);
            dolphinCore.ConfigurationValues["CPUThread"] = core_dualcore;

            var core_fullscreen = this.ConfigurationFlagStore.GetValue(game, "fullscreen_mode", ConfigurationFlagTypes.SELECT_FLAG);
            dolphinCore.ConfigurationValues["Fullscreen"] = this.ConfigurationFlags["fullscreen_mode"].SelectValues[core_fullscreen].Value;

            var core_backend = this.ConfigurationFlagStore.GetValue(game, "video_backend", ConfigurationFlagTypes.SELECT_FLAG);
            dolphinGfx.ConfigurationValues["GFXBackend"] = this.ConfigurationFlags["video_backend"].SelectValues[core_backend].Value;

            var core_hle_audio = this.ConfigurationFlagStore.GetValue(game, "hle_audio", ConfigurationFlagTypes.BOOLEAN_FLAG);
            dolphinCore.ConfigurationValues["DSPHLE"] = core_hle_audio;

            var core_cpu_oc = this.ConfigurationFlagStore.GetValue(game, "cpu_oc", ConfigurationFlagTypes.INTEGER_FLAG);
            dolphinCore.ConfigurationValues["OverclockEnable"] = (core_cpu_oc != 100);
            dolphinCore.ConfigurationValues["Overclock"] = core_cpu_oc / 100d;

            var gfx_internal_res = this.ConfigurationFlagStore.GetValue(game, "internal_res", ConfigurationFlagTypes.SELECT_FLAG);
            dolphinGfx.ConfigurationValues["EFBScale"] = this.ConfigurationFlags["internal_res"].SelectValues[gfx_internal_res].Value;

            var gfx_per_pixel_lighting = this.ConfigurationFlagStore.GetValue(game, "per_pixel_lighting", ConfigurationFlagTypes.BOOLEAN_FLAG);
            dolphinGfx.ConfigurationValues["EnablePixelLighting"] = gfx_per_pixel_lighting;

            var gfx_vsync = this.ConfigurationFlagStore.GetValue(game, "vsync", ConfigurationFlagTypes.BOOLEAN_FLAG);
            dolphinGfx.ConfigurationValues["VSync"] = gfx_vsync;

            var gfx_fps = this.ConfigurationFlagStore.GetValue(game, "fps", ConfigurationFlagTypes.BOOLEAN_FLAG);
            dolphinGfx.ConfigurationValues["ShowFPS"] = gfx_fps;

            var gfx_widescreen_hack = this.ConfigurationFlagStore.GetValue(game, "widescreen_hack", ConfigurationFlagTypes.BOOLEAN_FLAG);
            dolphinGfx.ConfigurationValues["widescreenHack"] = gfx_widescreen_hack;

            var gfx_aspect_ratio = this.ConfigurationFlagStore.GetValue(game, "aspect_ratio", ConfigurationFlagTypes.SELECT_FLAG);
            dolphinGfx.ConfigurationValues["AspectRatio"] = this.ConfigurationFlags["aspect_ratio"].SelectValues[gfx_aspect_ratio].Value;

            var gfx_anisotropic_filtering = this.ConfigurationFlagStore.GetValue(game, "anisotropic_filtering", ConfigurationFlagTypes.SELECT_FLAG);
            dolphinGfx.ConfigurationValues["MaxAnisotropy"] = this.ConfigurationFlags["anisotropic_filtering"].SelectValues[gfx_anisotropic_filtering].Value;

            var gfx_crop = this.ConfigurationFlagStore.GetValue(game, "crop", ConfigurationFlagTypes.BOOLEAN_FLAG);
            dolphinGfx.ConfigurationValues["Crop"] = gfx_crop;

            var gfx_antialiasing_mode = this.ConfigurationFlagStore.GetValue(game, "antialiasing_mode", ConfigurationFlagTypes.SELECT_FLAG);

            var oglMSAALevels = new string[5] {
                "0", /* None */
                "1", /* 2x MSAA */
                "2", /* 4x MSAA */
                "3", /* 8x MSAA */
                "4" /* 2xSSAA */
            };

            var dxMSAALevels = new string[5] {
                "0", /* None */
                "1", /*Level 2 */
                "4", /* Level 4 */
                "21", /* Level 8 */
                "53" /* Level 8 (32 Samples) */
            };
            switch (this.ConfigurationFlags["video_backend"].SelectValues[core_backend].Value as string)
            {
                case "D3D":
                    dolphinGfx.ConfigurationValues["MSAA"] = dxMSAALevels[gfx_antialiasing_mode];
                    break;
                case "OGL":
                    dolphinGfx.ConfigurationValues["MSAA"] = oglMSAALevels[gfx_antialiasing_mode];
                    break;
                default:
                    //If for some reason the backend value is broken, use opengl on the safe side
                    dolphinGfx.ConfigurationValues["MSAA"] = oglMSAALevels[gfx_antialiasing_mode];
                    break;
            }
        }