public override System.Diagnostics.ProcessStartInfo Generate(string system, string emulator, string core, string rom, string playersControllers, ScreenResolution resolution) { string path = AppConfig.GetFullPath("gsplus-win-sdl"); if (string.IsNullOrEmpty(path)) { path = AppConfig.GetFullPath("gsplus"); } string exe = Path.Combine(path, "gsplus.exe"); if (!File.Exists(exe)) { return(null); } IniFile conf = new IniFile(Path.Combine(path, "config.txt"), true); conf.WriteValue(null, "s5d1", ""); conf.WriteValue(null, "s5d2", ""); conf.WriteValue(null, "s6d1", ""); conf.WriteValue(null, "s6d2", ""); conf.WriteValue(null, "s7d1", ""); if (!string.IsNullOrEmpty(AppConfig["bios"]) && Directory.Exists(AppConfig["bios"])) { conf.WriteValue(null, "g_cfg_rom_path", Path.Combine(AppConfig.GetFullPath("bios"), "APPLE2GS.ROM")); } if (Path.GetExtension(rom).ToLowerInvariant() == ".2mg") { conf.WriteValue(null, "s7d1", rom); } conf.Save(); _bezelFileInfo = BezelFiles.GetBezelFiles(system, rom, resolution); _resolution = resolution; string screenShots = ""; if (!string.IsNullOrEmpty(AppConfig["thumbnails"]) && Directory.Exists(AppConfig["thumbnails"])) { screenShots = " -ssdir \"" + AppConfig.GetFullPath("thumbnails") + "\""; } return(new ProcessStartInfo() { FileName = exe, WorkingDirectory = path, Arguments = "-borderless -sw 1920 -sh 1080" + screenShots, }); }
/* * private static void removeControllerConfig_gamecube() * { * string path = Program.AppConfig.GetFullPath("dolphin"); * * string iniFile = Path.Combine(path, "User", "Config", "GCPadNew.ini"); * if (!File.Exists(iniFile)) * return; * * File.Delete(iniFile); * }*/ private static void generateControllerConfig_realwiimotes(string path, string filename, string anyDefKey) { string iniFile = Path.Combine(path, "User", "Config", filename); using (IniFile ini = new IniFile(iniFile, true)) { for (int i = 0; i < 5; i++) { ini.ClearSection("[" + anyDefKey + i.ToString() + "]"); ini.WriteValue("[" + anyDefKey + i.ToString() + "]", "Source", "2"); } ini.Save(); } }
private void SetupPaths() { string iniFile = Path.Combine(path, "inis", "PCSX2_ui.ini"); if (File.Exists(iniFile)) { try { using (var ini = new IniFile(iniFile)) { Uri relRoot = new Uri(path, UriKind.Absolute); string biosPath = AppConfig.GetFullPath("bios"); if (!string.IsNullOrEmpty(biosPath)) { ini.WriteValue("Folders", "UseDefaultBios", "disabled"); ini.WriteValue("Folders", "Bios", biosPath.Replace("\\", "\\\\")); } string savesPath = AppConfig.GetFullPath("saves"); if (!string.IsNullOrEmpty(savesPath)) { savesPath = Path.Combine(savesPath, "pcsx2"); if (!Directory.Exists(savesPath)) { try { Directory.CreateDirectory(savesPath); } catch { } } ini.WriteValue("Folders", "Savestates", savesPath.Replace("\\", "\\\\")); // Path.Combine(relPath, "pcsx2") } } } catch { } } }
private void SetupLilyPad() { string iniFile = Path.Combine(_path, "inis", "LilyPad.ini"); if (File.Exists(iniFile)) { try { using (var ini = new IniFile(iniFile)) { ini.WriteValue("General Settings", "Keyboard Mode", "1"); } } catch { } } }
private void SetupGeneralConfig(string path, string rom, string system) { string iniFile = Path.Combine(path, "Demul.ini"); if (!File.Exists(iniFile)) { return; } try { using (var ini = new IniFile(iniFile, true)) { ini.WriteValue("files", "roms0", AppConfig.GetFullPath("bios")); ini.WriteValue("files", "roms1", Path.GetDirectoryName(rom)); ini.WriteValue("files", "romsPathsCount", "2"); ini.WriteValue("plugins", "directory", @".\plugins\"); ini.WriteValue("plugins", "gpu", "gpuDX11.dll"); ini.WriteValue("plugins", "pad", "padDemul.dll"); if (ini.GetValue("plugins", "gpu") == null) { ini.WriteValue("plugins", "gdr", "gdrCHD.dll"); } if (ini.GetValue("plugins", "spu") == null) { ini.WriteValue("plugins", "spu", "spuDemul.dll"); } if (ini.GetValue("plugins", "net") == null) { ini.WriteValue("plugins", "net", "netDemul.dll"); } } } catch { } }
private void SetupGfxConfig(string path) { string iniFile = Path.Combine(path, "User", "Config", "GFX.ini"); if (!File.Exists(iniFile)) { return; } try { using (var ini = new IniFile(iniFile, true)) { if (SystemConfig.isOptSet("ratio")) { if (SystemConfig["ratio"] == "4/3") { ini.WriteValue("Settings", "AspectRatio", "2"); } else if (SystemConfig["ratio"] == "16/9") { ini.WriteValue("Settings", "AspectRatio", "1"); } else { ini.WriteValue("Settings", "AspectRatio", "0"); } } // draw or not FPS if (SystemConfig.isOptSet("DrawFramerate") && SystemConfig.getOptBoolean("DrawFramerate")) { ini.WriteValue("Settings", "ShowFPS", "True"); } else { ini.WriteValue("Settings", "ShowFPS", "False"); } ini.WriteValue("Hardware", "VSync", SystemConfig["VSync"] != "false" ? "True" : "False"); // search for custom textures ini.WriteValue("Settings", "HiresTextures", "True"); ini.WriteValue("Settings", "CacheHiresTextures", "True"); if (SystemConfig.isOptSet("internalresolution") && !string.IsNullOrEmpty(SystemConfig["internalresolution"])) { ini.WriteValue("Settings", "InternalResolution", SystemConfig["internalresolution"]); } else if (SystemConfig.isOptSet("internal_resolution") && !string.IsNullOrEmpty(SystemConfig["internal_resolution"])) { ini.WriteValue("Settings", "InternalResolution", SystemConfig["internal_resolution"]); } else { ini.WriteValue("Settings", "InternalResolution", "0"); } // HiResTextures - Default On if (SystemConfig.isOptSet("hires_textures")) { if (!SystemConfig.getOptBoolean("hires_textures")) { ini.WriteValue("Settings", "HiresTextures", "False"); ini.WriteValue("Settings", "CacheHiresTextures", "False"); } else { ini.WriteValue("Settings", "HiresTextures", "True"); ini.WriteValue("Settings", "CacheHiresTextures", "True"); } } // anisotropic filtering - Auto 0 if (SystemConfig.isOptSet("anisotropic_filtering")) { ini.WriteValue("Enhancements", "MaxAnisotropy", SystemConfig["anisotropic_filtering"]); } else { ini.WriteValue("Enhancements", "MaxAnisotropy", "0"); } // anisotropic filtering - Auto 0 if (SystemConfig.isOptSet("antialiasing")) { ini.WriteValue("Settings", "MSAA", "0x0000000" + SystemConfig["antialiasing"]); } else { ini.WriteValue("Settings", "MSAA", "0x00000001"); } // SSAA = True // widescreen hack but only if enable cheats is not enabled - Default Off if (SystemConfig.isOptSet("widescreen_hack")) { if (SystemConfig.getOptBoolean("widescreen_hack")) { ini.WriteValue("Settings", "wideScreenHack", "True"); } else { ini.Remove("Settings", "wideScreenHack"); } } // various performance hacks - Default Off if (SystemConfig.isOptSet("perf_hacks")) { if (SystemConfig.getOptBoolean("perf_hacks")) { ini.WriteValue("Hacks", "BBoxEnable", "False"); ini.WriteValue("Hacks", "DeferEFBCopies", "True"); ini.WriteValue("Hacks", "EFBEmulateFormatChanges", "False"); ini.WriteValue("Hacks", "EFBScaledCopy", "True"); ini.WriteValue("Hacks", "EFBToTextureEnable", "True"); ini.WriteValue("Hacks", "SkipDuplicateXFBs", "True"); ini.WriteValue("Hacks", "XFBToTextureEnable", "True"); ini.WriteValue("Enhancements", "ForceFiltering", "True"); ini.WriteValue("Enhancements", "ArbitraryMipmapDetection", "True"); ini.WriteValue("Enhancements", "DisableCopyFilter", "True"); ini.WriteValue("Enhancements", "ForceTrueColor", "True"); } else { ini.Remove("Hacks", "BBoxEnable"); ini.Remove("Hacks", "DeferEFBCopies"); ini.Remove("Hacks", "EFBEmulateFormatChanges"); ini.Remove("Hacks", "EFBScaledCopy"); ini.Remove("Hacks", "EFBToTextureEnable"); ini.Remove("Hacks", "SkipDuplicateXFBs"); ini.Remove("Hacks", "XFBToTextureEnable"); ini.Remove("Enhancements", "ForceFiltering"); ini.Remove("Enhancements", "ArbitraryMipmapDetection"); ini.Remove("Enhancements", "DisableCopyFilter"); ini.Remove("Enhancements", "ForceTrueColor"); } } } } catch { } }
private void SetupGeneralConfig(string path, string system) { string iniFile = Path.Combine(path, "User", "Config", "Dolphin.ini"); if (!File.Exists(iniFile)) { return; } try { using (var ini = new IniFile(iniFile, true)) { ini.WriteValue("Display", "Fullscreen", "True"); // draw or not FPS if (SystemConfig.isOptSet("DrawFramerate") && SystemConfig.getOptBoolean("DrawFramerate")) { ini.WriteValue("General", "ShowLag", "True"); ini.WriteValue("General", "ShowFPSCounter", "True"); } else { ini.WriteValue("General", "ShowLag", "False"); ini.WriteValue("General", "ShowFrameCount", "False"); } // don't ask about statistics ini.WriteValue("Analytics", "PermissionAsked", "True"); // don't confirm at stop ini.WriteValue("Interface", "ConfirmStop", "False"); // language (for gamecube at least) ini.WriteValue("Core", "SelectedLanguage", getGameCubeLangFromEnvironment()); ini.WriteValue("Core", "GameCubeLanguage", getGameCubeLangFromEnvironment()); // backend - Default if (SystemConfig.isOptSet("gfxbackend")) { ini.WriteValue("Core", "GFXBackend", SystemConfig["gfxbackend"]); } else { ini.WriteValue("Core", "GFXBackend", "Vulkan"); } // Cheats - default false if (SystemConfig.isOptSet("enable_cheats")) { if (SystemConfig.getOptBoolean("enable_cheats")) { ini.WriteValue("Core", "EnableCheats", "True"); } else { ini.WriteValue("Core", "EnableCheats", "False"); } } // Fast Disc Speed - Default Off if (SystemConfig.isOptSet("enable_fastdisc")) { if (SystemConfig.getOptBoolean("enable_fastdisc")) { ini.WriteValue("Core", "FastDiscSpeed", "True"); } else { ini.WriteValue("Core", "FastDiscSpeed", "False"); } } // Enable MMU - Default On if (!SystemConfig.isOptSet("enable_mmu") || SystemConfig.getOptBoolean("enable_mmu")) { ini.WriteValue("Core", "MMU", "True"); } else { ini.WriteValue("Core", "MMU", "False"); } // wiimote scanning ini.WriteValue("Core", "WiimoteContinuousScanning", "True"); if (_triforce) { ini.WriteValue("Core", "SerialPort1", "6"); ini.WriteValue("Core", "SIDevice0", "11"); ini.WriteValue("Core", "SIDevice1", "0"); ini.WriteValue("Core", "SIDevice2", "0"); ini.WriteValue("Core", "SIDevice3", "0"); } else if (!((Program.SystemConfig.isOptSet("disableautocontrollers") && Program.SystemConfig["disableautocontrollers"] == "1"))) { // gamecube pads forced as standard pad bool emulatedWiiMote = (system == "wii" && Program.SystemConfig.isOptSet("emulatedwiimotes") && Program.SystemConfig.getOptBoolean("emulatedwiimotes")); for (int i = 0; i < 4; i++) { var ctl = Controllers.FirstOrDefault(c => c.Index == i + 1); if (ctl != null && ctl.Input != null && !emulatedWiiMote) { /*if (ctl.Input.Type == "keyboard") * ini.WriteValue("Core", "SIDevice" + i, "7"); * else*/ ini.WriteValue("Core", "SIDevice" + i, "6"); } else { ini.WriteValue("Core", "SIDevice" + i, "0"); } } } } } catch { } }
private void SetupGSDx(ScreenResolution resolution) { string iniFile = Path.Combine(_path, "inis", "GSdx.ini"); if (File.Exists(iniFile)) { try { using (var ini = new IniFile(iniFile)) { ini.WriteValue("Settings", "UserHacks", "1"); if (!string.IsNullOrEmpty(SystemConfig["internalresolution"])) { ini.WriteValue("Settings", "upscale_multiplier", SystemConfig["internalresolution"]); } else { ini.WriteValue("Settings", "upscale_multiplier", "0"); } if (string.IsNullOrEmpty(SystemConfig["internalresolution"]) || SystemConfig["internalresolution"] == "0") { if (resolution != null) { ini.WriteValue("Settings", "resx", resolution.Width.ToString()); ini.WriteValue("Settings", "resy", (resolution.Height * 2).ToString()); } else { ini.WriteValue("Settings", "resx", Screen.PrimaryScreen.Bounds.Width.ToString()); ini.WriteValue("Settings", "resy", (Screen.PrimaryScreen.Bounds.Height * 2).ToString()); } } if (SystemConfig.isOptSet("interlace") && !string.IsNullOrEmpty(SystemConfig["interlace"])) { ini.WriteValue("Settings", "interlace", SystemConfig["interlace"]); } else { ini.WriteValue("Settings", "interlace", "7"); } if (SystemConfig.isOptSet("anisotropic_filtering") && !string.IsNullOrEmpty(SystemConfig["anisotropic_filtering"])) { ini.WriteValue("Settings", "MaxAnisotropy", SystemConfig["anisotropic_filtering"]); } else { ini.WriteValue("Settings", "MaxAnisotropy", "0"); } if (SystemConfig.isOptSet("align_sprite") && !string.IsNullOrEmpty(SystemConfig["align_sprite"])) { ini.WriteValue("Settings", "UserHacks_align_sprite_X", SystemConfig["align_sprite"]); } else { ini.WriteValue("Settings", "UserHacks_align_sprite_X", "0"); } if (SystemConfig.isOptSet("skipdraw") && !string.IsNullOrEmpty(SystemConfig["skipdraw"])) { ini.WriteValue("Settings", "UserHacks_SkipDraw", SystemConfig["skipdraw"]); } else { ini.WriteValue("Settings", "UserHacks_SkipDraw", "0"); } if (SystemConfig.isOptSet("DrawFramerate") && SystemConfig.getOptBoolean("DrawFramerate")) { ini.WriteValue("Settings", "osd_monitor_enabled", "1"); ini.WriteValue("Settings", "osd_indicator_enabled", "1"); } else { ini.WriteValue("Settings", "osd_monitor_enabled", "0"); ini.WriteValue("Settings", "osd_indicator_enabled", "0"); } } } catch { } } }
private static void generateControllerConfig_any(string path, string filename, string anyDefKey, InputKeyMapping anyMapping, Dictionary <string, string> anyReverseAxes, Dictionary <string, string> anyReplacements, Dictionary <string, string> extraOptions = null) { //string path = Program.AppConfig.GetFullPath("dolphin"); string iniFile = Path.Combine(path, "User", "Config", filename); int nsamepad = 0; Dictionary <string, int> double_pads = new Dictionary <string, int>(); using (IniFile ini = new IniFile(iniFile, true)) { foreach (var pad in Program.Controllers) { string gcpad = anyDefKey + pad.PlayerIndex; ini.ClearSection(gcpad); if (pad.Config == null) { continue; } // SIDevice0 = 7 -> Keyb GCKeyNew.ini // SIDevice1 = 6 -> controlleur standard GCPadNew.ini string tech = "XInput"; string deviceName = "Gamepad"; if (pad.Config.Type == "keyboard") { tech = "DInput"; deviceName = "Keyboard Mouse"; } else if (!pad.Config.IsXInputDevice()) { var di = pad.Config.GetDirectInputInfo(); if (di == null) { continue; } tech = "DInput"; deviceName = di.Name; } if (double_pads.ContainsKey(tech + "/" + deviceName)) { nsamepad = double_pads[tech + "/" + deviceName]; } else { nsamepad = 0; } double_pads[tech + "/" + deviceName] = nsamepad + 1; ini.WriteValue(gcpad, "Device", tech + "/" + nsamepad.ToString() + "/" + deviceName); if (extraOptions != null) { foreach (var xtra in extraOptions) { ini.WriteValue(gcpad, xtra.Key, xtra.Value); } } foreach (var x in anyMapping) { string keyName = x.Value; if (pad.Config.Type == "keyboard") { var value = x.Value; if (x.Key == InputKey.a) { value = "Buttons/A"; } else if (x.Key == InputKey.b) { value = "Buttons/B"; } else if (x.Key == InputKey.up) { value = "Main Stick/Up"; } else if (x.Key == InputKey.down) { value = "Main Stick/Down"; } else if (x.Key == InputKey.left) { value = "Main Stick/Left"; } else if (x.Key == InputKey.right) { value = "Main Stick/Right"; } if (x.Key == InputKey.joystick1left || x.Key == InputKey.joystick1up) { continue; } var input = pad.Config[x.Key]; if (input == null) { continue; } var name = ToDolphinKey(input.Id); ini.WriteValue(gcpad, value, name); } else if (tech == "XInput") { var mapping = pad.Config.GetXInputMapping(x.Key); if (mapping != XINPUTMAPPING.UNKNOWN && xInputMapping.ContainsKey(mapping)) { ini.WriteValue(gcpad, x.Value, xInputMapping[mapping]); } string reverseAxis; if (anyReverseAxes.TryGetValue(x.Value, out reverseAxis)) { mapping = pad.Config.GetXInputMapping(x.Key, true); if (mapping != XINPUTMAPPING.UNKNOWN && xInputMapping.ContainsKey(mapping)) { ini.WriteValue(gcpad, reverseAxis, xInputMapping[mapping]); } } } else { var input = pad.Config[x.Key]; if (input == null) { continue; } if (input.Type == "button") { if (input.Id == 0) // Invert A & B { ini.WriteValue(gcpad, x.Value, "`Button 1`"); } else if (input.Id == 1) // Invert A & B { ini.WriteValue(gcpad, x.Value, "`Button 0`"); } else { ini.WriteValue(gcpad, x.Value, "`Button " + input.Id.ToString() + "`"); } } else if (input.Type == "hat") { string hat = "`Hat " + input.Id + " N`"; if (input.Value == 2) // SDL_HAT_RIGHT { hat = "`Hat " + input.Id + " E`"; } else if (input.Value == 4) // SDL_HAT_DOWN { hat = "`Hat " + input.Id + " S`"; } else if (input.Value == 8) // SDL_HAT_LEFT { hat = "`Hat " + input.Id + " W`"; } ini.WriteValue(gcpad, x.Value, hat); } else if (input.Type == "axis") { Func <Input, bool, string> axisValue = (inp, revertAxis) => { string axis = "`Axis "; if (inp.Id == 2 || inp.Id == 5) { axis += "Z"; } else if (inp.Id == 0 || inp.Id == 3) { axis += "X"; } else { axis += "Y"; } if (inp.Id == 3 || inp.Id == 4) { axis += "r"; } if (inp.Id == 5) { revertAxis = !revertAxis; } if ((!revertAxis && inp.Value > 0) || (revertAxis && inp.Value < 0)) { axis += "+"; } else { axis += "-"; } return(axis + "`"); }; ini.WriteValue(gcpad, x.Value, axisValue(input, false)); string reverseAxis; if (anyReverseAxes.TryGetValue(x.Value, out reverseAxis)) { ini.WriteValue(gcpad, reverseAxis, axisValue(input, true)); } } } } if (tech == "XInput") { // ini.WriteValue(gcpad, "Main Stick/Modifier", "`Thumb L`"); // ini.WriteValue(gcpad, "C-Stick/Modifier" , "`Thumb R`"); ini.WriteValue(gcpad, "Main Stick/Dead Zone", "5.0000000000000000"); ini.WriteValue(gcpad, "C-Stick/Dead Zone", "5.0000000000000000"); ini.WriteValue(gcpad, "Rumble/Motor", "`Motor L``Motor R`"); } } ini.Save(); } }
private static void ConfigureJoystick(IniFile ini, InputConfig joy, int playerIndex) { if (joy == null) { return; } string api; string guid = string.Empty; if (joy.IsXInputDevice()) { api = "XInput"; guid = "0"; } else { api = "DirectInput"; Guid gd = joy.GetJoystickInstanceGuid(); if (gd == Guid.Empty) { return; } guid = gd.ToString().ToUpper(); } if (playerIndex == 0) { ini.WriteValue("General", "emulate", "Wii U GamePad"); } else { ini.WriteValue("General", "emulate", "Wii U Classic Controller"); } ini.WriteValue("General", "api", api); ini.WriteValue("General", "controller", guid); ini.WriteValue("Controller", "rumble", "0"); ini.WriteValue("Controller", "leftRange", "1"); ini.WriteValue("Controller", "rightRange", "1"); ini.WriteValue("Controller", "leftDeadzone", "0.15"); ini.WriteValue("Controller", "rightDeadzone", "0.15"); ini.WriteValue("Controller", "buttonThreshold", "0.5"); Action <string, InputKey, bool> writeIni = (v, k, r) => { var val = GetInputValue(joy, k, api, r); ini.WriteValue("Controller", v, val); }; // if (val != null) writeIni("1", InputKey.a, false); writeIni("2", InputKey.b, false); writeIni("3", InputKey.x, false); writeIni("4", InputKey.y, false); writeIni("5", InputKey.pageup, false); writeIni("6", InputKey.pagedown, false); writeIni("7", InputKey.lefttrigger, false); writeIni("8", InputKey.righttrigger, false); writeIni("9", InputKey.start, false); writeIni("10", InputKey.select, false); writeIni("11", InputKey.up, false); writeIni("12", InputKey.down, false); writeIni("13", InputKey.left, false); writeIni("14", InputKey.right, false); if (api == "XInput") { ini.WriteValue("Controller", "15", "button_100"); ini.WriteValue("Controller", "16", "button_200"); } else { ini.WriteValue("Controller", "15", null); ini.WriteValue("Controller", "16", null); } writeIni("17", InputKey.joystick1up, false); writeIni("18", InputKey.joystick1up, true); writeIni("19", InputKey.joystick1left, false); writeIni("20", InputKey.joystick1left, true); writeIni("21", InputKey.joystick2up, false); writeIni("22", InputKey.joystick2up, true); writeIni("23", InputKey.joystick2left, false); writeIni("24", InputKey.joystick2left, true); /* * if (joy[InputKey.select] != null && !joy[InputKey.select].Equals(joy[InputKey.hotkey])) * writeIni("26", InputKey.hotkey, false); * else*/ ini.WriteValue("Controller", "26", null); }
private static void ConfigureKeyboard(IniFile ini, InputConfig keyboard) { if (keyboard == null) { return; } ini.WriteValue("General", "emulate", "Wii U GamePad"); ini.WriteValue("General", "api", "Keyboard"); ini.WriteValue("General", "controller", null); ini.WriteValue("Controller", "rumble", "0"); ini.WriteValue("Controller", "leftRange", "1"); ini.WriteValue("Controller", "rightRange", "1"); ini.WriteValue("Controller", "leftDeadzone", "0.15"); ini.WriteValue("Controller", "rightDeadzone", "0.15"); ini.WriteValue("Controller", "buttonThreshold", "0.5"); Action <string, InputKey> writeIni = (v, k) => { var a = keyboard[k]; if (a != null) { byte value = SdlToKeyCode(a.Id); ini.WriteValue("Controller", v, "key_" + value.ToString()); } else if (ini.GetValue("Controller", v) != null && ini.GetValue("Controller", v).StartsWith("button")) { ini.WriteValue("Controller", v, ""); } }; writeIni("1", InputKey.a); writeIni("2", InputKey.b); writeIni("3", InputKey.x); writeIni("4", InputKey.y); writeIni("5", InputKey.pageup); writeIni("6", InputKey.pagedown); writeIni("7", InputKey.lefttrigger); writeIni("8", InputKey.righttrigger); writeIni("9", InputKey.start); writeIni("10", InputKey.select); writeIni("11", InputKey.up); writeIni("12", InputKey.down); writeIni("13", InputKey.left); writeIni("14", InputKey.right); if (ini.GetValue("Controller", "15") != null && ini.GetValue("Controller", "15").StartsWith("button")) { ini.WriteValue("Controller", "15", null); } if (ini.GetValue("Controller", "16") != null && ini.GetValue("Controller", "16").StartsWith("button")) { ini.WriteValue("Controller", "16", null); } writeIni("17", InputKey.joystick1up); writeIni("18", InputKey.joystick1up); writeIni("19", InputKey.joystick1left); writeIni("20", InputKey.joystick1left); writeIni("21", InputKey.joystick2up); writeIni("22", InputKey.joystick2up); writeIni("23", InputKey.joystick2left); writeIni("24", InputKey.joystick2left); writeIni("26", InputKey.hotkeyenable); }
private void SetupSettings() { string iniFile = Path.Combine(_path, "settings.ini"); if (File.Exists(iniFile)) { try { using (var ini = new IniFile(iniFile)) { Uri relRoot = new Uri(_path, UriKind.Absolute); string biosPath = AppConfig.GetFullPath("bios"); if (!string.IsNullOrEmpty(biosPath)) { ini.WriteValue("BIOS", "SearchDirectory", biosPath.Replace("\\", "\\\\")); } if (SystemConfig.isOptSet("ratio") && !string.IsNullOrEmpty(SystemConfig["ratio"])) { ini.WriteValue("Display", "AspectRatio", SystemConfig["ratio"]); } else { ini.WriteValue("Display", "AspectRatio", "Auto (Game Native)"); } if (SystemConfig.isOptSet("internal_resolution") && !string.IsNullOrEmpty(SystemConfig["internal_resolution"])) { ini.WriteValue("GPU", "ResolutionScale", SystemConfig["internal_resolution"]); } else { ini.WriteValue("GPU", "ResolutionScale", "5"); } if (SystemConfig.isOptSet("gfxbackend") && !string.IsNullOrEmpty(SystemConfig["gfxbackend"])) { ini.WriteValue("GPU", "Renderer", SystemConfig["gfxbackend"]); } else { ini.WriteValue("GPU", "Renderer", "Vulkan"); } if (SystemConfig.isOptSet("Texture_Enhancement") && !string.IsNullOrEmpty(SystemConfig["Texture_Enhancement"])) { ini.WriteValue("GPU", "TextureFilter", SystemConfig["Texture_Enhancement"]); } else { ini.WriteValue("GPU", "TextureFilter", "Nearest"); } if (SystemConfig.isOptSet("interlace") && !string.IsNullOrEmpty(SystemConfig["interlace"])) { ini.WriteValue("GPU", "DisableInterlacing", SystemConfig["interlace"]); } else { ini.WriteValue("GPU", "DisableInterlacing", "true"); } if (SystemConfig.isOptSet("NTSC_Timings") && !string.IsNullOrEmpty(SystemConfig["NTSC_Timings"])) { ini.WriteValue("GPU", "ForceNTSCTimings", SystemConfig["NTSC_Timings"]); } else { ini.WriteValue("GPU", "ForceNTSCTimings", "false"); } if (SystemConfig.isOptSet("Widescreen_Hack") && !string.IsNullOrEmpty(SystemConfig["Widescreen_Hack"])) { ini.WriteValue("GPU", "WidescreenHack", SystemConfig["Widescreen_Hack"]); } else { ini.WriteValue("GPU", "WidescreenHack", "false"); } if (SystemConfig.isOptSet("Disable_Dithering") && !string.IsNullOrEmpty(SystemConfig["Disable_Dithering"])) { ini.WriteValue("GPU", "TrueColor", SystemConfig["Disable_Dithering"]); } else { ini.WriteValue("GPU", "TrueColor", "false"); } if (SystemConfig.isOptSet("Scaled_Dithering") && !string.IsNullOrEmpty(SystemConfig["Scaled_Dithering"])) { ini.WriteValue("GPU", "ScaledDithering", SystemConfig["Scaled_Dithering"]); } else { ini.WriteValue("GPU", "ScaledDithering", "false"); } if (SystemConfig.isOptSet("VSync") && !string.IsNullOrEmpty(SystemConfig["VSync"])) { ini.WriteValue("Display", "VSync", SystemConfig["VSync"]); } else { ini.WriteValue("Display", "VSync", "true"); } if (SystemConfig.isOptSet("Linear_Filtering") && !string.IsNullOrEmpty(SystemConfig["Linear_Filtering"])) { ini.WriteValue("Display", "LinearFiltering", SystemConfig["Linear_Filtering"]); } else { ini.WriteValue("Display", "LinearFiltering", "true"); } if (SystemConfig.isOptSet("Integer_Scaling") && !string.IsNullOrEmpty(SystemConfig["Integer_Scaling"])) { ini.WriteValue("Display", "IntegerScaling", SystemConfig["Integer_Scaling"]); } else { ini.WriteValue("Display", "IntegerScaling", "false"); } ini.WriteValue("Main", "ConfirmPowerOff", "false"); ini.WriteValue("Main", "StartFullscreen", "true"); ini.WriteValue("Main", "ApplyGameSettings", "true"); ini.WriteValue("Main", "RenderToMainWindow", "true"); ini.WriteValue("Main", "EnableDiscordPresence", "false"); ini.WriteValue("Display", "Fullscreen", "true"); } } catch { } } }
private void SetupConfig(string path) { string iniFile = Path.Combine(path, "memstick", "PSP", "SYSTEM", "ppsspp.ini"); if (!File.Exists(iniFile)) { return; } try { using (var ini = new IniFile(iniFile, true)) { //if (SystemConfig.isOptSet("showFPS") && SystemConfig.getOptBoolean("showFPS")) if (SystemConfig.isOptSet("DrawFramerate") && SystemConfig.getOptBoolean("DrawFramerate")) { ini.WriteValue("Graphics", "ShowFPSCounter", "3"); } else { ini.WriteValue("Graphics", "ShowFPSCounter", "0"); } if (SystemConfig.isOptSet("frameskip") && SystemConfig.getOptBoolean("frameskip")) { ini.WriteValue("Graphics", "FrameSkip", "1"); } else { ini.WriteValue("Graphics", "FrameSkip", "0"); } if (SystemConfig.isOptSet("frameskiptype") && !string.IsNullOrEmpty(SystemConfig["frameskiptype"])) { ini.WriteValue("Graphics", "FrameSkipType", SystemConfig["frameskiptype"]); } else { ini.WriteValue("Graphics", "FrameSkipType", "0"); } if (SystemConfig.isOptSet("internalresolution") && !string.IsNullOrEmpty(SystemConfig["internalresolution"])) { ini.WriteValue("Graphics", "InternalResolution", SystemConfig["internalresolution"]); } else { ini.WriteValue("Graphics", "InternalResolution", "0"); } if (SystemConfig.isOptSet("rewind") && SystemConfig.getOptBoolean("rewind")) { ini.WriteValue("General", "RewindFlipFrequency", "300"); } else { ini.WriteValue("General", "RewindFlipFrequency", "0"); } } } catch { } }
private void SetupSettings() { string iniFile = Path.Combine(_path, "config", "raine32_sdl.cfg"); if (File.Exists(iniFile)) { try { using (var ini = new IniFile(iniFile)) { Uri relRoot = new Uri(_path, UriKind.Absolute); string biosPath = AppConfig.GetFullPath("bios"); if (!string.IsNullOrEmpty(biosPath)) { ini.WriteValue("Directories", "rom_dir_0", biosPath.Replace("\\", "\\\\") + "\\\\"); ini.WriteValue("neocd", "neocd_bios", biosPath.Replace("\\", "\\\\") + "\\\\" + "neocdz.zip"); } string romPath = AppConfig.GetFullPath("roms"); if (!string.IsNullOrEmpty(romPath)) { ini.WriteValue("Directories", "rom_dir_1", romPath.Replace("\\", "\\\\") + "neogeo" + "\\\\"); ini.WriteValue("neocd", "neocd_dir", romPath.Replace("\\", "\\\\") + "neogeocd" + "\\\\"); } string sshotPath = AppConfig.GetFullPath("screenshots"); if (!string.IsNullOrEmpty(sshotPath)) { ini.WriteValue("Directories", "ScreenShots", sshotPath.Replace("\\", "\\\\") + "\\\\"); } if (SystemConfig.isOptSet("Set_Shader") && !string.IsNullOrEmpty(SystemConfig["Set_Shader"])) { ini.WriteValue("Display", "ogl_shader", _path + SystemConfig["Set_Shader"]); } else { ini.WriteValue("Display", "ogl_shader", "None"); } if (SystemConfig.isOptSet("ratio") && !string.IsNullOrEmpty(SystemConfig["ratio"])) { ini.WriteValue("Display", "fix_aspect_ratio", SystemConfig["ratio"]); } else { ini.WriteValue("Display", "fix_aspect_ratio", "1"); } if (SystemConfig.isOptSet("Set_Bios") && !string.IsNullOrEmpty(SystemConfig["Set_Bios"])) { ini.WriteValue("neogeo", "bios", SystemConfig["Set_Bios"]); } else { ini.WriteValue("neogeo", "bios", "25"); } if (SystemConfig.isOptSet("Music_Volume") && !string.IsNullOrEmpty(SystemConfig["Music_Volume"])) { ini.WriteValue("neocd", "music_volume", SystemConfig["Music_Volume"]); } else { ini.WriteValue("neocd", "music_volume", "75"); } if (SystemConfig.isOptSet("Sfx_Volume") && !string.IsNullOrEmpty(SystemConfig["Sfx_Volume"])) { ini.WriteValue("neocd", "sfx_volume", SystemConfig["Sfx_Volume"]); } else { ini.WriteValue("neocd", "sfx_volume", "75"); } if (SystemConfig.isOptSet("Speed_Hack") && !string.IsNullOrEmpty(SystemConfig["Speed_Hack"])) { ini.WriteValue("neocd", "allowed_speed_hacks", SystemConfig["Speed_Hack"]); } else { ini.WriteValue("neocd", "allowed_speed_hacks", "1"); } if (SystemConfig.isOptSet("Cd_Speed") && !string.IsNullOrEmpty(SystemConfig["Cd_Speed"])) { ini.WriteValue("neocd", "cdrom_speed", SystemConfig["Cd_Speed"]); } else { ini.WriteValue("neocd", "cdrom_speed", "8"); } } } catch { } } }
public override System.Diagnostics.ProcessStartInfo Generate(string system, string emulator, string core, string rom, string playersControllers, ScreenResolution resolution) { string path = AppConfig.GetFullPath("supermodel"); string exe = Path.Combine(path, "supermodel.exe"); if (!File.Exists(exe)) { return(null); } List <string> args = new List <string>(); bool isWideScreen = false; if (resolution != null) { isWideScreen = ((float)resolution.Width / (float)resolution.Height) > 1.75f; args.Add("-res=" + resolution.Width + "," + resolution.Height); } else { isWideScreen = ((float)Screen.PrimaryScreen.Bounds.Width / (float)Screen.PrimaryScreen.Bounds.Height) >= 1.75f; args.Add("-res=" + Screen.PrimaryScreen.Bounds.Width + "," + Screen.PrimaryScreen.Bounds.Height); } _resolution = resolution; bool wideScreen = SystemConfig["widescreen"] == "1" || SystemConfig["widescreen"] == "2" || (!SystemConfig.isOptSet("widescreen") && isWideScreen); if (wideScreen) { ReshadeManager.Setup(ReshadeBezelType.opengl, null, null, path, resolution); args.Add("-fullscreen"); if (SystemConfig["widescreen"] == "2") { args.Add("-stretch"); } else { args.Add("-wide-screen"); } } else { if (ReshadeManager.Setup(ReshadeBezelType.opengl, system, rom, path, resolution)) { args.Add("-fullscreen"); } else { _bezelFileInfo = BezelFiles.GetBezelFiles(system, rom, resolution); if (_bezelFileInfo == null) { args.Add("-fullscreen"); } } } // quad rendering if (SystemConfig.isOptSet("quadRendering") && SystemConfig.getOptBoolean("quadRendering")) { args.Add("-quad-rendering"); } // crosshairs if (SystemConfig.isOptSet("crosshairs")) { args.Add("-crosshairs=" + SystemConfig["crosshairs"]); } // force feedback if (SystemConfig.isOptSet("forceFeedback") && SystemConfig.getOptBoolean("forceFeedback")) { args.Add("-force-feedback"); } try { string iniPath = Path.Combine(path, "Config", "Supermodel.ini"); if (File.Exists(iniPath)) { using (IniFile ini = new IniFile(iniPath, false)) { ini.WriteValue(" Global ", "FullScreen", _bezelFileInfo == null ? "1" : "0"); ini.WriteValue(" Global ", "WideScreen", wideScreen ? "1" : "0"); ini.Save(); } } } catch { } if (SystemConfig["VSync"] != "false") { args.Add("-vsync"); } args.Add("\"" + rom + "\""); return(new ProcessStartInfo() { FileName = exe, Arguments = string.Join(" ", args), WorkingDirectory = path, }); }