From 771663eabff2f52614fcd8fe4457aad56db26714 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Pedro=20Rodrigues=20Prates=20Braz?= Date: Thu, 21 Apr 2022 00:54:22 -0300 Subject: [PATCH 1/6] Feat: Added option to run game with EAC enabled --- er-patcher | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/er-patcher b/er-patcher index 8e500c6..edfa74e 100755 --- a/er-patcher +++ b/er-patcher @@ -17,6 +17,7 @@ if __name__ == "__main__": parser = argparse.ArgumentParser(description="Patch Elden Ring executable and launch it without EAC.") parser.add_argument("-r", "--rate", type=int, default=60, help="Modify the frame rate limit (e.g. 30, 120, 165 or whatever).") + parser.add_argument("--with-eac", action='store_true', help="Run game with EAC (Use at own your risk)") parser.add_argument("--fix-camera", action='store_true', help="Disable camera auto-rotation.") parser.add_argument("--all", action='store_true', help="Enable all options except rate adjustment and gamplay changes like `--fix-camera`.") parser.add_argument("-u", "--ultrawide", action='store_true', help="Removes black bars when using a resolution with an aspect ratio other than 16:9.") @@ -133,7 +134,7 @@ if __name__ == "__main__": # start patched exe directly to avoid EAC steam_cmd = sys.argv[1 + sys.argv.index("--"):] - steam_cmd[-1] = Path(steam_cmd[-1]).parent.absolute() / game_dir_patched / "eldenring.exe" + steam_cmd[-1] = Path(steam_cmd[-1]).parent.absolute() / game_dir_patched / ("start_protected_game.exe" if patch.with_eac else "eldenring.exe") subprocess.run(steam_cmd, cwd=steam_cmd[-1].parent.absolute()) # cleanup From 0afbe0c4f1083f5b1510be6c3779f445da0a6d31 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Pedro=20Rodrigues=20Prates=20Braz?= Date: Thu, 21 Apr 2022 01:02:55 -0300 Subject: [PATCH 2/6] Feat: Include 'start_protected_game.exe' in the tmp folder --- er-patcher | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/er-patcher b/er-patcher index edfa74e..9f1c7b4 100755 --- a/er-patcher +++ b/er-patcher @@ -127,7 +127,7 @@ if __name__ == "__main__": # to handle but by default windows 10 doesn't allow them game_files = [f for f in game_dir.rglob("*") if f.is_file()] for f in game_files: - if f.name in ["eldenring.exe", "start_protected_game.exe", "er-patcher"]: + if f.name in ["eldenring.exe", "er-patcher"]: continue if not (game_dir_patched / f).is_file(): f.link_to(game_dir_patched / f) From 33b88872f88292c5c78fdbd7a90873538feb7b85 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Pedro=20Rodrigues=20Prates=20Braz?= Date: Thu, 21 Apr 2022 17:21:54 -0300 Subject: [PATCH 3/6] Feat: Updated the README to include the 'with-eac' arg --- README.md | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 9769b7a..f56663b 100644 --- a/README.md +++ b/README.md @@ -23,16 +23,17 @@ Note: There might be some distros (e.g. older Ubuntu releases) that launch pytho ## Features -| Argument | Description | -| --------------------------------------- | ---------------------------------------------------------------------------- | -| `-r RATE` or `--rate RATE` | Set a custom framerate limit (default: 60). | -| `--fix-camera` | Disable camera auto-rotation. | +| Argument | Description | +| --------------------------------------- | ------------------------------------------------------------------------------- | +| `-r RATE` or `--rate RATE` | Set a custom framerate limit (default: 60). | +| `--with-eac` | Run game with EAC (Use at own your risk) | +| `--fix-camera` | Disable camera auto-rotation. | | `--all` | Enable all options except `--rate` and
gameplay changes like `--fix-camera`. | -| `-u` or `--ultrawide` | Remove black bars. | -| `-v` or `--disable-vigniette` | Remove the vigniette overlay . | -| `-c` or `--disable-ca` | Disable chromatic abberation. | +| `-u` or `--ultrawide` | Remove black bars. | +| `-v` or `--disable-vigniette` | Remove the vigniette overlay . | +| `-c` or `--disable-ca` | Disable chromatic abberation. | | `-a` or `--increase-animation-distance` | Fix low frame rate animations at screen
edges or for distant entities. | -| `-s` or `--skip-intro` | Skip intro logos at game start. | +| `-s` or `--skip-intro` | Skip intro logos at game start. | | `-f` or `--remove-60hz-fullscreen` | Remove the 60Hz limit in fullscreen
mode (not needed with proton). | From ebcf78c9bb558063b52bd32b3faca7bc0be6e523 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Pedro=20Rodrigues=20Prates=20Braz?= Date: Thu, 21 Apr 2022 18:34:05 -0300 Subject: [PATCH 4/6] Fix: Major bug where the flag 'with-eac' defaults to true --- er-patcher | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/er-patcher b/er-patcher index 9f1c7b4..7011ed4 100755 --- a/er-patcher +++ b/er-patcher @@ -17,7 +17,7 @@ if __name__ == "__main__": parser = argparse.ArgumentParser(description="Patch Elden Ring executable and launch it without EAC.") parser.add_argument("-r", "--rate", type=int, default=60, help="Modify the frame rate limit (e.g. 30, 120, 165 or whatever).") - parser.add_argument("--with-eac", action='store_true', help="Run game with EAC (Use at own your risk)") + parser.add_argument("--with-eac", action='store_false', help="Run game with EAC (Use at own your risk)") parser.add_argument("--fix-camera", action='store_true', help="Disable camera auto-rotation.") parser.add_argument("--all", action='store_true', help="Enable all options except rate adjustment and gamplay changes like `--fix-camera`.") parser.add_argument("-u", "--ultrawide", action='store_true', help="Removes black bars when using a resolution with an aspect ratio other than 16:9.") From b1b2af55afe4e41c7adcaa6ef44aabb16a5de51f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Pedro=20Rodrigues=20Prates=20Braz?= Date: Thu, 21 Apr 2022 18:34:44 -0300 Subject: [PATCH 5/6] Feat: Improved README --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index f56663b..207df06 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ A tool aimed at enhancing the experience when playing the game on linux through ## Warning -**This tool is based on patching the game executable through hex-edits. However it is done in a safe and non-destructive way, that ensures the patched executable is never run with EAC enabled. Use at your own risk!** +**This tool is based on patching the game executable through hex-edits. However it is done in a safe and non-destructive way, that ensures the patched executable is never run with EAC enabled (unless explicity told to do so). Use at your own risk!** ## Dependencies @@ -47,7 +47,7 @@ Note: This spawns a python console which will close by itself after the game has ## How it works -When the game is launched through steam, the tool creates a patched version of `eldenring.exe` in a temporary subdirectory while leaving the original intact. The tool then modifies the steam launch command to launch the patched executable instead of `start_protected_game.exe`. This ensures that the patched exe is never run with EAC enabled. After the game is closed, the patched executable is removed. +When the game is launched through steam, the tool creates a patched version of `eldenring.exe` in a temporary subdirectory while leaving the original intact. As long the flag `--with-eac` is not set, the tool modifies the steam launch command to launch the patched executable instead of `start_protected_game.exe`, thefore ensuring that the patched exe is never run with EAC enabled. After the game is closed, the patched executable is removed. ## Credits From 6c4be1ae92de5497240042a94c8c54cb706b8c96 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Pedro=20Rodrigues=20Prates=20Braz?= Date: Thu, 21 Apr 2022 18:38:38 -0300 Subject: [PATCH 6/6] Revert "Fix: Major bug where the flag 'with-eac' defaults to true" This reverts commit ebcf78c9bb558063b52bd32b3faca7bc0be6e523. --- er-patcher | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/er-patcher b/er-patcher index 7011ed4..9f1c7b4 100755 --- a/er-patcher +++ b/er-patcher @@ -17,7 +17,7 @@ if __name__ == "__main__": parser = argparse.ArgumentParser(description="Patch Elden Ring executable and launch it without EAC.") parser.add_argument("-r", "--rate", type=int, default=60, help="Modify the frame rate limit (e.g. 30, 120, 165 or whatever).") - parser.add_argument("--with-eac", action='store_false', help="Run game with EAC (Use at own your risk)") + parser.add_argument("--with-eac", action='store_true', help="Run game with EAC (Use at own your risk)") parser.add_argument("--fix-camera", action='store_true', help="Disable camera auto-rotation.") parser.add_argument("--all", action='store_true', help="Enable all options except rate adjustment and gamplay changes like `--fix-camera`.") parser.add_argument("-u", "--ultrawide", action='store_true', help="Removes black bars when using a resolution with an aspect ratio other than 16:9.")