-
Notifications
You must be signed in to change notification settings - Fork 53
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Added: Support for running tools via Proton(tricks) and REDmod on Linux #1989
Conversation
2347d44 to
4e9eecd
Compare
4e9eecd to
d3b9f59
Compare
| } | ||
| else | ||
| { | ||
| var batchPath = fs.GetKnownPath(KnownPath.EntryDirectory).Combine("Resources/Cyberpunk2077/deploy_redmod.bat"); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This won't work. I'd suggest making the bat file an embedded resource and creating the file at runtime in the temp directory or similar.
To prevent antivirus software from going crazy on Windows, we'd only want to embed on Linux.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If I recall correctly, I brought this up at standup.
Generating a .bat and extracting to disk was the thing I originally wanted to do.
However the people there requested I don't do that and make it a static file that ships with the App pre-extracted instead.
So I'm rather confused, why am I being asked here to do what I originally intended to do? This shouldn't be a case of something like Working Directory vs $OWD for AppImage.
There is the fact I didn't make the .bat file get copied on Linux only, but that's a separate fixup.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Did you test this with an AppImage? I want to avoid using CopyToOutputDirectory if possible, as it can make packaging difficult.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good point. Let me do that after I fixup CI.
Edit: And redownload game.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Took me a bit to respond. I just downloaded Cyberpunk 3 times, because Steam would give me errors after downloading the entire 80GB.
Works fine on AppImage, just need it to not copy to output on Windows.
The batch script is not executed directly, so executable permission (or lack of) doesn't apply to it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I made the file not copy on Windows, however it depends on the Host OS the App was built in; due to MSBuild limitations.
Details in the commit contents.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I still think we should go with the embedded route. CopyToOutputDirectory is just a hassle.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I wanted it too, if you remember however; standup requested I didn't. I followed their request.
Putting it as an embedded resource will make it embed in Windows too, due to same limitations of MSBuild that I'm suffering from here that require this terrible hack.
I don't want some silly AV software to have the wrong impressions because it sees a valid looking batch script starting with @echo off embedded raw within the binary. Unless you'd want me to compress it or something to hide it.
At the end of the day, security on Windows is all terrorism really. Be it the protection racket called code signing or otherwise.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Putting it as an embedded resource will make it embed in Windows too
How? What you have currently only copies for Linux. EmbeddedResource can have a condition as well, the same condition should work here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah, I thought you wanted me to use the standard machinery here because the .targets file was unsightly to see.
If it's embedding via the targets file, then that would work.
|
@Sewer56 Whats the best way to test this? |
|
@LukeNexusMods Try to install a REDmod like I listed the things to watch out for QA in the opening post. |
Today I became a PS2 developer. I acquired an EmotionEngine. Unfortunately, the only emotion I experienced, was a lot of frustration as a developer. 2 hours wasted, and no decent solution that works within the confines of MSBuild.
|
This PR conflicts with |
|
This PR doesn't conflict with |
|
Re-tested with main merged, including AppImage. We're all good. |
This PR adds support for:
redMod.exe(previouslyredmod.exe)RedModDeploy.mp4
Design
The screenshots above were already shown to design; with no further feedback requested for the time being.
It may be useful to print out the list of REDmod(s) that caused for a certain diagnostic to be emitted, however we've decided to wait for now.
QA Matrix
Check the following:
REDmod DLCwork on all stores, Windows and LinuxIssues I'm aware of:
Tags
fixes #1982
fixes #1774
fixes #1915