def generate(self, system, rom, playersControllers, gameResolution): dolphinControllers.generateControllerConfig(system, playersControllers, rom) dolphinSettings = UnixSettings(gamestationFiles.dolphinIni, separator=' ') #Draw or not FPS if system.config['showFPS'] == 'true': dolphinSettings.save("ShowLag", "True") dolphinSettings.save("ShowFrameCount", "True") else: dolphinSettings.save("ShowLag", "False") dolphinSettings.save("ShowFrameCount", "False") # don't ask about statistics dolphinSettings.save("PermissionAsked", "True") # don't confirm at stop dolphinSettings.save("ConfirmStop", "False") # language (for gamecube at least) dolphinSettings.save("SelectedLanguage", getGameCubeLangFromEnvironment()) dolphinSettings.save("GameCubeLanguage", getGameCubeLangFromEnvironment()) # update GFX dolphinGFXSettings = ConfigParser.ConfigParser() # To prevent ConfigParser from converting to lower case dolphinGFXSettings.optionxform = str dolphinGFXSettings.read(gamestationFiles.dolphinGfxIni) if not dolphinGFXSettings.has_section("Settings"): dolphinGFXSettings.add_section("Settings") dolphinGFXSettings.set( "Settings", "AspectRatio", getGfxRatioFromConfig(system.config, gameResolution)) cfgfile = open(gamestationFiles.dolphinGfxIni, 'w+') dolphinGFXSettings.write(cfgfile) cfgfile.close() # update SYSCONF try: dolphinSYSCONF.update(system.config, gamestationFiles.dolphinSYSCONF, gameResolution) except Exception: pass # don't fail in case of SYSCONF update commandArray = [ gamestationFiles.gamestationBins[system.config['emulator']], "-e", rom ] return Command.Command(array=commandArray, env={ "XDG_CONFIG_HOME": gamestationFiles.CONF, "XDG_DATA_HOME": gamestationFiles.SAVES })
def generate(self, system, rom, playersControllers): dolphinControllers.generateControllerConfig(system, playersControllers, rom) dolphinSettings = UnixSettings(recalboxFiles.dolphinIni, separator=' ') #Draw or not FPS if system.config['showFPS'] == 'true': dolphinSettings.save("ShowLag", "True") dolphinSettings.save("ShowFrameCount", "True") else: dolphinSettings.save("ShowLag", "False") dolphinSettings.save("ShowFrameCount", "False") # don't ask about statistics dolphinSettings.save("PermissionAsked", "True") # don't confirm at stop dolphinSettings.save("ConfirmStop", "False") # language (for gamecube at least) dolphinSettings.save("SelectedLanguage", getDolphinLangFromEnvironment()) # update SYSCONF try: dolphinSYSCONF.update(system.config, recalboxFiles.dolphinSYSCONF) except Exception: pass # don't fail in case of SYSCONF update commandArray = [ recalboxFiles.recalboxBins[system.config['emulator']], "-e", rom ] if 'args' in system.config and system.config['args'] is not None: commandArray.extend(system.config['args']) return Command.Command(videomode=system.config['videomode'], array=commandArray, env={ "XDG_CONFIG_HOME": recalboxFiles.CONF, "XDG_DATA_HOME": recalboxFiles.SAVES })
def generate(self, system, rom, playersControllers, gameResolution): if not os.path.exists(os.path.dirname(recalboxFiles.dolphinIni)): os.makedirs(os.path.dirname(recalboxFiles.dolphinIni)) dolphinControllers.generateControllerConfig(system, playersControllers, rom) # dolphin.ini dolphinSettings = ConfigParser.ConfigParser() # To prevent ConfigParser from converting to lower case dolphinSettings.optionxform = str if os.path.exists(recalboxFiles.dolphinIni): dolphinSettings.read(recalboxFiles.dolphinIni) # sections if not dolphinSettings.has_section("General"): dolphinSettings.add_section("General") if not dolphinSettings.has_section("Core"): dolphinSettings.add_section("Core") if not dolphinSettings.has_section("Interface"): dolphinSettings.add_section("Interface") if not dolphinSettings.has_section("Analytics"): dolphinSettings.add_section("Analytics") # draw or not FPS if system.config['showFPS'] == 'true': dolphinSettings.set("General", "ShowLag", "True") dolphinSettings.set("General", "ShowFrameCount", "True") else: dolphinSettings.set("General", "ShowLag", "False") dolphinSettings.set("General", "ShowFrameCount", "False") # don't ask about statistics dolphinSettings.set("Analytics", "PermissionAsked", "True") # don't confirm at stop dolphinSettings.set("Interface", "ConfirmStop", "False") # language (for gamecube at least) dolphinSettings.set("Core", "SelectedLanguage", getGameCubeLangFromEnvironment()) dolphinSettings.set("Core", "GameCubeLanguage", getGameCubeLangFromEnvironment()) # wiimote scanning dolphinSettings.set("Core", "WiimoteContinuousScanning", "True") # gamecube pads forced as standard pad dolphinSettings.set("Core", "SIDevice0", "6") dolphinSettings.set("Core", "SIDevice1", "6") dolphinSettings.set("Core", "SIDevice2", "6") dolphinSettings.set("Core", "SIDevice3", "6") # save dolphin.ini with open(recalboxFiles.dolphinIni, 'w') as configfile: dolphinSettings.write(configfile) # gfx.ini dolphinGFXSettings = ConfigParser.ConfigParser() # To prevent ConfigParser from converting to lower case dolphinGFXSettings.optionxform = str dolphinGFXSettings.read(recalboxFiles.dolphinGfxIni) if not dolphinGFXSettings.has_section("Settings"): dolphinGFXSettings.add_section("Settings") dolphinGFXSettings.set( "Settings", "AspectRatio", getGfxRatioFromConfig(system.config, gameResolution)) # save gfx.ini with open(recalboxFiles.dolphinGfxIni, 'w') as configfile: dolphinGFXSettings.write(configfile) # update SYSCONF try: dolphinSYSCONF.update(system.config, recalboxFiles.dolphinSYSCONF, gameResolution) except Exception: pass # don't fail in case of SYSCONF update commandArray = [ recalboxFiles.recalboxBins[system.config['emulator']], "-e", rom ] return Command.Command(array=commandArray, env={ "XDG_CONFIG_HOME": recalboxFiles.CONF, "XDG_DATA_HOME": recalboxFiles.SAVES })
def generate(self, system, rom, playersControllers, gameResolution): if not os.path.exists(os.path.dirname(batoceraFiles.dolphinIni)): os.makedirs(os.path.dirname(batoceraFiles.dolphinIni)) # Dir required for saves if not os.path.exists(batoceraFiles.dolphinData + "/StateSaves"): os.makedirs(batoceraFiles.dolphinData + "/StateSaves") dolphinControllers.generateControllerConfig(system, playersControllers, rom) ## dolphin.ini ## dolphinSettings = ConfigParser.ConfigParser() # To prevent ConfigParser from converting to lower case dolphinSettings.optionxform = str if os.path.exists(batoceraFiles.dolphinIni): dolphinSettings.read(batoceraFiles.dolphinIni) # Sections if not dolphinSettings.has_section("General"): dolphinSettings.add_section("General") if not dolphinSettings.has_section("Core"): dolphinSettings.add_section("Core") if not dolphinSettings.has_section("Interface"): dolphinSettings.add_section("Interface") if not dolphinSettings.has_section("Analytics"): dolphinSettings.add_section("Analytics") # Draw or not FPS if system.isOptSet("showFPS") and system.getOptBoolean("showFPS"): dolphinSettings.set("General", "ShowLag", '"True"') dolphinSettings.set("General", "ShowFrameCount", '"True"') else: dolphinSettings.set("General", "ShowLag", '"False"') dolphinSettings.set("General", "ShowFrameCount", '"False"') # Don't ask about statistics dolphinSettings.set("Analytics", "PermissionAsked", '"True"') # PanicHandlers displaymessages dolphinSettings.set("Interface", "UsePanicHandlers", '"False"') dolphinSettings.set("Interface", "OnScreenDisplayMessages", '"True"') # Don't confirm at stop dolphinSettings.set("Interface", "ConfirmStop", '"False"') # Enable Cheats if system.isOptSet("enable_cheats") and system.getOptBoolean("enable_cheats"): dolphinSettings.set("Core", "EnableCheats", '"True"') else: dolphinSettings.set("Core", "EnableCheats", '"False"') # Speed up disc transfert rate if system.isOptSet("enable_fastdisc") and system.getOptBoolean("enable_fastdisc"): dolphinSettings.set("Core", "FastDiscSpeed", '"True"') else: dolphinSettings.set("Core", "FastDiscSpeed", '"False"') # Dual Core if system.isOptSet("dual_core") and not system.getOptBoolean("dual_core"): dolphinSettings.set("Core", "CPUThread", '"False"') else: dolphinSettings.set("Core", "CPUThread", '"True"') # Gpu Sync if system.isOptSet("gpu_sync") and system.getOptBoolean("gpu_sync"): dolphinSettings.set("Core", "SyncGPU", '"True"') else: dolphinSettings.set("Core", "SyncGPU", '"False"') # Language (for gamecube at least) dolphinSettings.set("Core", "SelectedLanguage", getGameCubeLangFromEnvironment()) dolphinSettings.set("Core", "GameCubeLanguage", getGameCubeLangFromEnvironment()) # Enable MMU if system.isOptSet("enable_mmu") and system.getOptBoolean("enable_mmu"): dolphinSettings.set("Core", "MMU", '"True"') else: dolphinSettings.set("Core", "MMU", '"False"') # Backend - Default OpenGL if system.isOptSet("gfxbackend") and system.config["gfxbackend"] == 'Vulkan': dolphinSettings.set("Core", "GFXBackend", '"Vulkan"') else: dolphinSettings.set("Core", "GFXBackend", '"OGL"') # Wiimote scanning dolphinSettings.set("Core", "WiimoteContinuousScanning", '"True"') # Gamecube pads forced as standard pad dolphinSettings.set("Core", "SIDevice0", '"6"') dolphinSettings.set("Core", "SIDevice1", '"6"') dolphinSettings.set("Core", "SIDevice2", '"6"') dolphinSettings.set("Core", "SIDevice3", '"6"') # Save dolphin.ini with open(batoceraFiles.dolphinIni, 'w') as configfile: dolphinSettings.write(configfile) ## gfx.ini ## dolphinGFXSettings = ConfigParser.ConfigParser() # To prevent ConfigParser from converting to lower case dolphinGFXSettings.optionxform = str dolphinGFXSettings.read(batoceraFiles.dolphinGfxIni) # Add Default Sections if not dolphinGFXSettings.has_section("Settings"): dolphinGFXSettings.add_section("Settings") if not dolphinGFXSettings.has_section("Hacks"): dolphinGFXSettings.add_section("Hacks") if not dolphinGFXSettings.has_section("Enhancements"): dolphinGFXSettings.add_section("Enhancements") if not dolphinGFXSettings.has_section("Hardware"): dolphinGFXSettings.add_section("Hardware") dolphinGFXSettings.set("Settings", "AspectRatio", getGfxRatioFromConfig(system.config, gameResolution)) # Show fps if system.isOptSet("showFPS") and system.getOptBoolean("showFPS"): dolphinGFXSettings.set("Settings", "ShowFPS", '"True"') else: dolphinGFXSettings.set("Settings", "ShowFPS", '"False"') # HiResTextures if system.isOptSet('hires_textures') and not system.getOptBoolean('hires_textures'): dolphinGFXSettings.set("Settings", "HiresTextures", '"False"') dolphinGFXSettings.set("Settings", "CacheHiresTextures", '"False"') else: dolphinGFXSettings.set("Settings", "HiresTextures", '"True"') dolphinGFXSettings.set("Settings", "CacheHiresTextures", '"True"') # Widescreen Hack if system.isOptSet('widescreen_hack') and system.getOptBoolean('widescreen_hack'): # Prefer Cheats than Hack if system.isOptSet('enable_cheats') and system.getOptBoolean('enable_cheats'): dolphinGFXSettings.set("Settings", "wideScreenHack", '"False"') else: dolphinGFXSettings.set("Settings", "wideScreenHack", '"True"') else: dolphinGFXSettings.set("Settings", "wideScreenHack", '"False"') # Various performance hacks - Default Off if system.isOptSet('perf_hacks') and system.getOptBoolean('perf_hacks'): dolphinGFXSettings.set("Hacks", "BBoxEnable", '"False"') dolphinGFXSettings.set("Hacks", "DeferEFBCopies", '"True"') dolphinGFXSettings.set("Hacks", "EFBEmulateFormatChanges", '"False"') dolphinGFXSettings.set("Hacks", "EFBScaledCopy", '"True"') dolphinGFXSettings.set("Hacks", "EFBToTextureEnable", '"True"') dolphinGFXSettings.set("Hacks", "SkipDuplicateXFBs", '"True"') dolphinGFXSettings.set("Hacks", "XFBToTextureEnable", '"True"') dolphinGFXSettings.set("Enhancements", "ForceFiltering", '"True"') dolphinGFXSettings.set("Enhancements", "ArbitraryMipmapDetection", '"True"') dolphinGFXSettings.set("Enhancements", "DisableCopyFilter", '"True"') dolphinGFXSettings.set("Enhancements", "ForceTrueColor", '"True"') else: if dolphinGFXSettings.has_section("Hacks"): dolphinGFXSettings.remove_option("Hacks", "BBoxEnable") dolphinGFXSettings.remove_option("Hacks", "DeferEFBCopies") dolphinGFXSettings.remove_option("Hacks", "EFBEmulateFormatChanges") dolphinGFXSettings.remove_option("Hacks", "EFBScaledCopy") dolphinGFXSettings.remove_option("Hacks", "EFBToTextureEnable") dolphinGFXSettings.remove_option("Hacks", "SkipDuplicateXFBs") dolphinGFXSettings.remove_option("Hacks", "XFBToTextureEnable") if dolphinGFXSettings.has_section("Enhancements"): dolphinGFXSettings.remove_option("Enhancements", "ForceFiltering") dolphinGFXSettings.remove_option("Enhancements", "ArbitraryMipmapDetection") dolphinGFXSettings.remove_option("Enhancements", "DisableCopyFilter") dolphinGFXSettings.remove_option("Enhancements", "ForceTrueColor") # Internal resolution settings if system.isOptSet('internalresolution'): dolphinGFXSettings.set("Settings", "InternalResolution", system.config["internalresolution"]) else: dolphinGFXSettings.set("Settings", "InternalResolution", '"1"') # VSync if system.isOptSet('vsync'): dolphinGFXSettings.set("Hardware", "VSync", system.getOptBoolean('vsync')) else: dolphinGFXSettings.set("Hardware", "VSync", '"True"') # Anisotropic filtering if system.isOptSet('anisotropic_filtering'): dolphinGFXSettings.set("Enhancements", "MaxAnisotropy", system.config["anisotropic_filtering"]) else: dolphinGFXSettings.set("Enhancements", "MaxAnisotropy", '"0"') # Anti aliasing if system.isOptSet('antialiasing'): dolphinGFXSettings.set("Settings", "MSAA", system.config["antialiasing"]) else: dolphinGFXSettings.set("Settings", "MSAA", '"0"') # Save gfx.ini with open(batoceraFiles.dolphinGfxIni, 'w') as configfile: dolphinGFXSettings.write(configfile) # Update SYSCONF try: dolphinSYSCONF.update(system.config, batoceraFiles.dolphinSYSCONF, gameResolution) except Exception: pass # don't fail in case of SYSCONF update commandArray = ["dolphin-emu", "-e", rom] if system.isOptSet('platform'): commandArray = ["dolphin-emu-nogui", "-p", system.config["platform"], "-e", rom] return Command.Command(array=commandArray, env={"XDG_CONFIG_HOME":batoceraFiles.CONF, "XDG_DATA_HOME":batoceraFiles.SAVES, "QT_QPA_PLATFORM":"xcb"})
def generate(self, system, rom, playersControllers, gameResolution): if not os.path.exists(os.path.dirname(batoceraFiles.dolphinIni)): os.makedirs(os.path.dirname(batoceraFiles.dolphinIni)) dolphinControllers.generateControllerConfig(system, playersControllers, rom) # dolphin.ini dolphinSettings = ConfigParser.ConfigParser() # To prevent ConfigParser from converting to lower case dolphinSettings.optionxform = str if os.path.exists(batoceraFiles.dolphinIni): dolphinSettings.read(batoceraFiles.dolphinIni) # sections if not dolphinSettings.has_section("General"): dolphinSettings.add_section("General") if not dolphinSettings.has_section("Core"): dolphinSettings.add_section("Core") if not dolphinSettings.has_section("Interface"): dolphinSettings.add_section("Interface") if not dolphinSettings.has_section("Analytics"): dolphinSettings.add_section("Analytics") # draw or not FPS if system.isOptSet('showFPS') and system.getOptBoolean('showFPS'): dolphinSettings.set("General", "ShowLag", "True") dolphinSettings.set("General", "ShowFrameCount", "True") else: dolphinSettings.set("General", "ShowLag", "False") dolphinSettings.set("General", "ShowFrameCount", "False") # don't ask about statistics dolphinSettings.set("Analytics", "PermissionAsked", "True") # don't confirm at stop dolphinSettings.set("Interface", "ConfirmStop", "False") # language (for gamecube at least) dolphinSettings.set("Core", "SelectedLanguage", getGameCubeLangFromEnvironment()) dolphinSettings.set("Core", "GameCubeLanguage", getGameCubeLangFromEnvironment()) # wiimote scanning dolphinSettings.set("Core", "WiimoteContinuousScanning", "True") # gamecube pads forced as standard pad dolphinSettings.set("Core", "SIDevice0", "6") dolphinSettings.set("Core", "SIDevice1", "6") dolphinSettings.set("Core", "SIDevice2", "6") dolphinSettings.set("Core", "SIDevice3", "6") # save dolphin.ini with open(batoceraFiles.dolphinIni, 'w') as configfile: dolphinSettings.write(configfile) # gfx.ini dolphinGFXSettings = ConfigParser.ConfigParser() # To prevent ConfigParser from converting to lower case dolphinGFXSettings.optionxform = str dolphinGFXSettings.read(batoceraFiles.dolphinGfxIni) if not dolphinGFXSettings.has_section("Settings"): dolphinGFXSettings.add_section("Settings") dolphinGFXSettings.set( "Settings", "AspectRatio", getGfxRatioFromConfig(system.config, gameResolution)) # show fps if system.isOptSet('showFPS') and system.getOptBoolean('showFPS'): dolphinGFXSettings.set("Settings", "ShowFPS", "True") else: dolphinGFXSettings.set("Settings", "ShowFPS", "False") if system.isOptSet('enable_cheats') and system.getOptBoolean( 'enable_cheats'): dolphinGFXSettings.set("Core", "EnableCheats", "True") else: dolphinGFXSettings.set("Core", "EnableCheats", "False") # for to search for custom textures if system.isOptSet('hires_textures') and system.getOptBoolean( 'hires_textures'): dolphinGFXSettings.set("Settings", "HiresTextures", "True") dolphinGFXSettings.set("Settings", "CacheHiresTextures", "True") else: dolphinGFXSettings.set("Settings", "HiresTextures", "False") dolphinGFXSettings.set("Settings", "CacheHiresTextures", "False") # widescreen hack but only if enable cheats is not enabled if (system.isOptSet('widescreen_hack') and system.getOptBoolean('widescreen_hack') and system.isOptSet('enable_cheats') and not system.getOptBoolean('enable_cheats')): dolphinGFXSettings.set("Settings", "wideScreenHack", "True") else: dolphinGFXSettings.remove_option("Settings", "wideScreenHack") # various performance hacks if system.isOptSet('perf_hacks') and system.getOptBoolean( 'perf_hacks'): if not dolphinGFXSettings.has_section("Hacks"): dolphinGFXSettings.add_section("Hacks") if not dolphinGFXSettings.has_section("Enhancements"): dolphinGFXSettings.add_section("Enhancements") dolphinGFXSettings.set("Hacks", "BBoxEnable", "False") dolphinGFXSettings.set("Hacks", "DeferEFBCopies", "True") dolphinGFXSettings.set("Hacks", "EFBEmulateFormatChanges", "False") dolphinGFXSettings.set("Hacks", "EFBScaledCopy", "True") dolphinGFXSettings.set("Hacks", "EFBToTextureEnable", "True") dolphinGFXSettings.set("Hacks", "SkipDuplicateXFBs", "True") dolphinGFXSettings.set("Hacks", "XFBToTextureEnable", "True") dolphinGFXSettings.set("Enhancements", "ForceFiltering", "True") dolphinGFXSettings.set("Enhancements", "ArbitraryMipmapDetection", "True") dolphinGFXSettings.set("Enhancements", "DisableCopyFilter", "True") dolphinGFXSettings.set("Enhancements", "ForceTrueColor", "True") else: if dolphinGFXSettings.has_section("Hacks"): dolphinGFXSettings.remove_option("Hacks", "BBoxEnable") dolphinGFXSettings.remove_option("Hacks", "DeferEFBCopies") dolphinGFXSettings.remove_option("Hacks", "EFBEmulateFormatChanges") dolphinGFXSettings.remove_option("Hacks", "EFBScaledCopy") dolphinGFXSettings.remove_option("Hacks", "EFBToTextureEnable") dolphinGFXSettings.remove_option("Hacks", "SkipDuplicateXFBs") dolphinGFXSettings.remove_option("Hacks", "XFBToTextureEnable") if dolphinGFXSettings.has_section("Enhancements"): dolphinGFXSettings.remove_option("Enhancements", "ForceFiltering") dolphinGFXSettings.remove_option("Enhancements", "ArbitraryMipmapDetection") dolphinGFXSettings.remove_option("Enhancements", "DisableCopyFilter") dolphinGFXSettings.remove_option("Enhancements", "ForceTrueColor") # internal resolution settings if system.isOptSet('internalresolution'): dolphinGFXSettings.set("Settings", "InternalResolution", system.config["internalresolution"]) else: dolphinGFXSettings.set("Settings", "InternalResolution", "0") # vsync if system.isOptSet('vsync'): dolphinGFXSettings.set("Hardware", "VSync", system.config["vsync"]) else: dolphinGFXSettings.set("Hardware", "VSync", "False") # anisotropic filtering if system.isOptSet('anisotropic_filtering'): dolphinGFXSettings.set("Enhancements", "MaxAnisotropy", system.config["anisotropic_filtering"]) else: dolphinGFXSettings.set("Enhancements", "MaxAnisotropy", "0") # anti aliasing if system.isOptSet('antialiasing'): dolphinGFXSettings.set("Settings", "MSAA", system.config["antialiasing"]) else: dolphinGFXSettings.set("Settings", "MSAA", "0") # save gfx.ini with open(batoceraFiles.dolphinGfxIni, 'w') as configfile: dolphinGFXSettings.write(configfile) # update SYSCONF try: dolphinSYSCONF.update(system.config, batoceraFiles.dolphinSYSCONF, gameResolution) except Exception: pass # don't fail in case of SYSCONF update commandArray = [ batoceraFiles.batoceraBins[system.config['emulator']], "-platform", "xcb", "-e", rom ] return Command.Command(array=commandArray, env={ "XDG_CONFIG_HOME": batoceraFiles.CONF, "XDG_DATA_HOME": batoceraFiles.SAVES })