Exemple #1
0
def main():
    """ Launcher workaround
    """
    # Fixes the startup process.
    util.protontricks('vcrun2019_ge')
    util.protontricks('d3dcompiler_47')
    util.replace_command('LariLauncher.exe', '../bin/bg3.exe')
Exemple #2
0
def main():
    """ Launcherfix
    """

    installpath = os.path.abspath(os.path.join(os.getcwd(), os.pardir))

    if not os.path.isfile(
            os.path.join(os.path.abspath(installpath), 'bin', 'EoCApp.exe')):

        if not os.path.isdir(
                os.path.join(os.path.abspath(installpath), 'bin-bak')):
            shutil.move(os.path.join(os.path.abspath(installpath), 'bin'),
                        os.path.join(os.path.abspath(installpath), 'bin-bak'))
            subprocess.call([
                'ln', '-s',
                os.path.join(os.path.abspath(installpath), 'DefEd', 'bin'),
                os.path.join(os.path.abspath(installpath), 'bin')
            ])

        if not os.path.isdir(
                os.path.join(os.path.abspath(installpath), 'Data-bak')):
            shutil.move(os.path.join(os.path.abspath(installpath), 'Data'),
                        os.path.join(os.path.abspath(installpath), 'Data-bak'))
            subprocess.call([
                'ln', '-s',
                os.path.join(os.path.abspath(installpath), 'DefEd', 'Data'),
                os.path.join(os.path.abspath(installpath), 'Data')
            ])

    util.replace_command('SupportTool.exe', 'EoCApp.exe')
Exemple #3
0
def main():
    """ 
    """

    util.replace_command(
        'Necromunda.exe',
        'Necromunda/Binaries/Win64/Necromunda-Win64-Shipping.exe')
Exemple #4
0
def main():
    """ This bypasses Strange Brigade's Launcher, which renders all black.
    """

    # Fixes the startup process.
    util.replace_command('StrangeBrigade.exe', 'StrangeBrigade_Vulkan.exe')
    util.append_argument('-skipdrivercheck -noHDR')
Exemple #5
0
def main():
    """ Run script extender if it exists.
    """

    # Fixes the startup process.
    if os.path.isfile(os.path.join(os.getcwd(), 'f4se_loader.exe')):
        util.replace_command('Fallout4Launcher.exe', 'f4se_loader.exe')
Exemple #6
0
def main():
    """ 
    """

    # Replace launcher with game exe in proton arguments
    util.replace_command('MoonMan.exe',
                         'MoonMan/Binaries/Win64/MoonMan-Win64-Shipping.exe')
Exemple #7
0
def main():
    """ Run script extender if it exists.
    """

    # Fixes the startup process.
    if os.path.isfile(os.path.join(os.getcwd(), 'GrimInternals64.exe')):
        util.replace_command('Grim Dawn.exe', 'GrimInternals64.exe')
Exemple #8
0
def main():
    """ Launcherfix
    """

    # Fixes the startup process.
    util.replace_command('Launcher.exe', 'BorderlandsPreSequel.exe')
    util.append_argument('-NoSplash')
Exemple #9
0
def main():
    """ for FFXIV skip intro cutscene to allow game to work.
    """
    # Fixes the startup process.
    util.replace_command('ffxivboot.exe', 'ffxivboot64.exe')
    util.protontricks('hidewineexports=enable')
    # disable new character intro cutscene to prevent black screen loop
    configpath = os.path.join(
        util.protonprefix(),
        'drive_c/users/steamuser/My Documents/My Games/FINAL FANTASY XIV - A Realm Reborn'
    )
    if not os.path.exists(configpath):
        os.makedirs(configpath)
    configgame = os.path.join(configpath, 'FFXIV.cfg')
    if not os.path.isfile(configgame):
        f = open(configgame, "w+")
        f.write(
            "<FINAL FANTASY XIV Config File>\n\n<Cutscene Settings>\nCutsceneMovieOpening 1"
        )
        f.close
    configpath = os.path.join(
        util.protonprefix(),
        'drive_c/users/steamuser/My Documents/My Games/FINAL FANTASY XIV - A Realm Reborn'
    )
    if not os.path.exists(configpath):
        os.makedirs(configpath)
    configgame = os.path.join(configpath, 'FFXIV_BOOT.cfg')
    if not os.path.isfile(configgame):
        f = open(configgame, "w+")
        f.write("<FINAL FANTASY XIV Boot Config File>\n\n<Version>\nBrowser 1")
        f.close
Exemple #10
0
def main():
    """ Launcherfix
    """

    installpath = os.path.abspath(os.path.join(os.getcwd(), os.pardir))
    oldbin = os.getcwd()
    oldbinbak = os.path.join(os.path.abspath(installpath), 'bin.bak')
    newbin = os.path.join(os.path.abspath(installpath), 'DefEd', 'bin')

    if not os.path.isfile(
            os.path.join(os.path.abspath(installpath), 'bin', 'EoCApp.exe')):
        shutil.move(oldbin, oldbinbak)
        subprocess.call(['ln', '-s', newbin, oldbin])
        zenity_bin = splash.sys_zenity_path()
        if not zenity_bin:
            return
        #pylint: disable=C0301
        zenity_cmd = ' '.join([
            zenity_bin, '--info', '--text',
            '"Steam Play symlinks for Divinity: Original Sin 2 have been set. On first launch the game will black screen. Please force it to close then press PLAY again."',
            '--no-wrap'
        ])
        subprocess.Popen(zenity_cmd, shell=True)

    util.replace_command('SupportTool.exe', 'EoCApp.exe')
Exemple #11
0
def main():
    """ Changes the proton argument from the launcher to the game
    """

    log('Applying fixes for Mafia II: Definitive Edition')

    util.protontricks('dotnet452')
    util.replace_command('Launcher.exe', '../Mafia II Definitive Edition.exe')
Exemple #12
0
def main():
    """ Changes the proton argument from the launcher to the game
    """

    log('Applying fixes for Evil Genius 2: World Domination')

    # Replace launcher with game exe in proton arguments
    util.replace_command('Launcher/eg2.exe', 'bin/evilgenius_vulkan.exe')
Exemple #13
0
def main():
    """ Changes the proton argument from the launcher to the game
    """

    log('Applying fixes for Age of Empires 2 HD Edition')

    # Replace launcher with game exe in proton arguments
    util.replace_command('Launcher.exe', 'AoK HD.exe')
Exemple #14
0
def main():
    """ Changes the proton argument from the launcher to the game
    """

    log('Applying fixes for Sniper Elite 3')

    util.replace_command('Launcher/Sniper3Launcher.exe',
                         'bin/SniperElite3.exe')
Exemple #15
0
def main():
    """ Changes the proton argument from the launcher to the game
    """

    # Fix crackling audio
    util.set_environment('PULSE_LATENCY_MSEC', '60')

    # Replace launcher with game exe in proton arguments
    util.replace_command('FF9_Launcher.exe', 'x64/FF9.exe')
Exemple #16
0
def main():
    """ Run script extender if it exists.
    """

    # Fixes the startup process.
    if not os.path.isfile(os.path.join(os.getcwd(), 'xlive.dll')):
        xlivepath = os.path.join(util.protonprefix(), 'drive_c/windows/syswow64/xlive.dll')
        shutil.copy(xlivepath, os.path.join(os.getcwd(), 'xlive.dll'))
    if os.path.isfile(os.path.join(os.getcwd(), 'fose_loader.exe')):
        util.replace_command('FalloutLauncher.exe', 'fose_loader.exe')
Exemple #17
0
def main():
    """ Changes the proton argument from the launcher to the game
    """

    log('Applying Divinity Original Sin 2  Definitive Edition Game Fixes')

    # Set OS to Windows 10, to fix the save folder creating issue
    util.protontricks('win10')

    # Fix crash on startup issue
    util.replace_command('bin/SupportTool.exe', 'DefEd/bin/EoCApp.exe')
Exemple #18
0
def main():
    """ Launcherfix and NVIDIA PhysX support.
    """

    # Fixes the startup process.
    util.replace_command('Launcher.exe', 'Borderlands2.exe')
    util.append_argument('-NoSplash')

    # Disables esync prevents crashes.
    util.disable_esync()

    # Enables NVIDIA PhysX in Borderlands 2.
    util.protontricks('physx')
Exemple #19
0
def main():
    """ Run script extender if it exists.
    """

    if os.path.isfile(os.path.join(os.getcwd(), 'skse64_loader.exe')):
        zenity_bin = splash.sys_zenity_path()
        if not zenity_bin:
            return
        zenity_cmd = ' '.join([zenity_bin, '--question','--text', '"Would you like to run the game with Script Extender?"', '--no-wrap'])
        zenity = subprocess.Popen(zenity_cmd, shell=True)
        zenity.communicate()
        if not zenity.returncode:
            util.replace_command('SkyrimSELauncher.exe', 'skse64_loader.exe')
Exemple #20
0
def main():
    """
    Bypassing launcher, which does not run due to broken
    .NET 4.0 installation.

    Launcher provides no functionality (only a link to Bethesda site
    without any specific Fallout 2 content).
    """
    if '-classic' in sys.argv:
        log('Bypassing launcher to run Fallout 2 (Classic Version)')
        util.replace_command('Fallout2Launcher.exe', 'fallout2.exe')
    else:
        log('Bypassing launcher to run Fallout 2 (High Resolution Version)')
        util.replace_command('Fallout2Launcher.exe', 'fallout2HR.exe')
Exemple #21
0
def main():
    """ Run script extender if it exists.
    """

    # Fixes the startup process.
    if os.path.isfile(os.path.join(os.getcwd(), 'GrimInternals64.exe')):
        zenity_bin = splash.sys_zenity_path()
        if not zenity_bin:
            return
        zenity_cmd = ' '.join([
            zenity_bin, '--question', '--text',
            '"Would you like to run the game with Grim Internals?"',
            '--no-wrap'
        ])
        zenity = subprocess.Popen(zenity_cmd, shell=True)
        zenity.communicate()
        if not zenity.returncode:
            util.replace_command('Grim Dawn.exe', 'GrimInternals64.exe')
Exemple #22
0
def main():
    """ Requires seccomp
    """

    util.use_seccomp()
    util.replace_command('launcher.exe', 'mafiadefinitiveedition.exe')
    util.protontricks('d3dcompiler_47')
    util.set_environment('WINEDLLOVERRIDES', 'dxgi=n')
    configpath = os.path.join(
        util.protonprefix(),
        'drive_c/users/steamuser/My Documents/My Games/Mafia Definitive Edition/Saves'
    )
    if not os.path.exists(configpath):
        os.makedirs(configpath)
    configgame = os.path.join(configpath, 'videoconfig.cfg')
    if not os.path.isfile(configgame):
        f = open(configgame, "w+")
        f.write("-6 0 1920 1080 0 0 0 0 0")
        f.close
Exemple #23
0
def main():
    """ Uses dotnet40
    """

    util.protontricks('dotnet40')

    # Allow setting an environment variable to prevent replacing the launcher
    # just in case one day the launcher works (at which point we can remove the below
    # fixes).
    log.info("Checking if we should keep launcher...")
    if 'KEEP_LAUNCHER' in os.environ:
        log.info(
            "KEEP_LAUNCHER is set so keeping the original launch command.")
        return True

    log.info("KEEP_LAUNCHER is not set so replacing the launcher with the "
             "game executable in the launch command.")

    util.replace_command('Launcher.exe', 'BorderlandsGOTY.exe')
    return True
Exemple #24
0
def main():
    """ Installs crypt32 and and bypasses launcher
    """

    # Install crypt32 (not required for Proton 3.16-3 and up)
    util.protontricks('crypt32')

    # Install directmusic, set overrides
    util.protontricks('directmusic')
    util.winedll_override('dmime', 'n')
    util.winedll_override('dmsynth', 'n')
    util.winedll_override('dmusic', 'n')
    util.winedll_override('dsound', 'n')
    util.winedll_override('dswave ', 'n')
    util.winedll_override('l3codecx', 'n')

    # Set sound to alsa
    util.protontricks('sound=alsa')

    # Disable launcher
    util.replace_command('patriots.exe', 'riseofnations.exe')
Exemple #25
0
def main():
    """ Run script extender if it exists.
    """

    # Fixes the startup process.
    if not os.path.isfile(os.path.join(os.getcwd(), 'xlive.dll')):
        xlivepath = os.path.join(util.protonprefix(),
                                 'drive_c/windows/syswow64/xlive.dll')
        shutil.copy(xlivepath, os.path.join(os.getcwd(), 'xlive.dll'))
    if os.path.isfile(os.path.join(os.getcwd(), 'fose_loader.exe')):
        zenity_bin = splash.sys_zenity_path()
        if not zenity_bin:
            return
        zenity_cmd = ' '.join([
            zenity_bin, '--question', '--text',
            '"Would you like to run the game with Script Extender?"',
            '--no-wrap'
        ])
        zenity = subprocess.Popen(zenity_cmd, shell=True)
        zenity.communicate()
        if not zenity.returncode:
            util.replace_command('FalloutLauncher.exe', 'fose_loader.exe')
Exemple #26
0
def main():
    """ Changes the proton argument from the launcher to the game
    """

    # Replace launcher with game exe in proton arguments
    util.replace_command('Launcher.exe', 'aomx.exe')
Exemple #27
0
def main():
    """ Launcherfix and NVIDIA PhysX support.
    """

    # Fixes the startup process.
    util.replace_command('Launcher.exe', '../Mafia II Definitive Edition.exe')
Exemple #28
0
def main():
    """ Bypass launcher, disable dxvk
    """

    util.replace_command('ots.exe', 'ots_executable.exe')
    util.disable_dxvk()
Exemple #29
0
def main():
    """ Use 32-bit version
    """
    util.replace_command('Night of the Full Moon.exe', 'x86/Night of the Full Moon.exe')
Exemple #30
0
def main():
    """ Run script extender if it exists.
    """

    if os.path.isfile(os.path.join(os.getcwd(), 'skse64_loader.exe')):
        util.replace_command('SkyrimSELauncher.exe', 'skse64_loader.exe')