Forum Discussion
It's good to know that the dev team should be now at least aware that there's demand for this.
Meanwhile, I found this answer on SuperUser that pointed me in a direction that managed to work around the issue for my use-case (It Takes Two running on DirectX 12 to avoid a bug with AMD drivers on RX 6000 series cards that make some ground textures flicker like crazy).
I don't know if it will work for all games, but I'm not aware of any downsides so far, except perhaps an update overwriting the files. If this somehow break terms of use or is considered bad for EA in some way, please delete this post.
I tried to make the steps as detailed and simplified as possible, since not everyone has the same knowledge about this stuff, but if you're more tech savvy and understand well what the steps are doing, feel free to change them as you please. I didn't test it but it should probably be possible to also create a package directly with iexpress wrapping the game with the arguments, but I did the .bat way because it was simpler to change the arguments in the future.
Basically, the steps are:
- Go to the path of the binary file. In my case that was C:\Program Files\EA Games\ItTakesTwo\Nuts\Binaries\Win64\ItTakesTwo.exe.
- Rename it so that it has an "orig" at the end. For example from ItTakesTwo.exe it becomes ItTakesTwo.orig.exe. Depending on your windows settings, you may see only ItTakesTwo and in that case you would rename it to ItTakesTwo.orig. If it's in "Program Files" or other "protected" folder, Windows will probably ask you to give Administrator permission first to be able to rename the file.
- Open the Windows Start Menu and type "Notepad". Right-click the "Notepad" entry and click on "Open as administrator". Click "Continue" to give permission.
- Inside the new file type start <your renamed .exe> <arguments> (in my case that was start C:\"Program Files"\"EA Games"\ItTakesTwo\Nuts\Binaries\Win64\ItTakesTwo.orig.exe -dx12. Note that the quotes on the directories that have spaces in their names are mandatory). Press Ctrl-S to save the file and a dialog will appear prompting you to specify where to save the file.
- Click on the dropdown after "Type" and select "All files". Then go to the folder where you have your exe and save the file with the same name as your .exe file but with a .bat in the end. Like so in my case: ItTakesTwo.bat.
- Go to the "C:\Windows\System32" folder, find the iexpress.exe program (or only iexpress, depending on your settings), right-click it and select "Open as administrator". Again click "Continue" to give permission.
- Now these are the exact options I selected in my case, using Windows 11 (version 21H2, build 22000.318). Depending on your version of Windows, options might be a little different, some steps might be missing or there may be some extra steps, but overall it should be something along the same lines.
- "Create new Self Extraction Directive file"
- "Extract files and run an installation command"
- Choose a title. As far as I understand, it can be anything you want.
- "No prompt"
- "Do not display a license"
- "Add" to add package files, then select the ".bat" file you created with Notepad.
- On "Install Program", type cmd /c <bat file name>. In my case that was cmd /c ItTakesTwo.bat.
- On "Show window" select "Hidden".
- "No message"
- On "Package Name and Options" click "Browse" and go to the same folder where your .exe now renamed to .orig.exe is. In my case that was "C:\Program Files\EA Games\ItTakesTwo\Nuts\Binaries\Win64\". Then as the name of the file put the same name as the original .exe of the game. In my case it was ItTakesTwo.exe.
- Select "Hide File Extracting Progress Animation from User" and "Store files using Long File Name inside Package". It will warn you that the file won't work on Windows 95, which hopefully should not be a problem in 2021, so click on "Yes" to continue anyway.
- "No restart"
- "Don't save"
- You can now press "Next" / "Finish" all the way until it finishes.
- After that you should have a .bat file with the arguments you want, that you can freely change. A .orig.exe file which is the actual game executable file. And a .exe which is actually our package we created with iexpress.exe. EA Desktop will open it instead of our game and the package will then proceed to open our true binary with our arguments.
Hopefully that will work for someone else. It's a kinda roundabout way to fix the problem, so if all goes well we'll have this functionality baked in on EA Desktop soon and we can simply configure the game command-line arguments from inside the Launcher.
About EA app General Discussion
Recent Discussions
- 16 minutes ago