sonic2kk / steamtinkerlaunch

Linux wrapper tool for use with the Steam client for custom launch options and 3rd party programs
GNU General Public License v3.0
2.15k stars 73 forks source link

ModOrganizer 2: Add option to Select Custom Installer Executable #935

Closed sonic2kk closed 10 months ago

sonic2kk commented 1 year ago

Overview

This PR adds an option on the Global Menu under ModOrganizer 2 options, to specify a custom installer executable. This is useful if there is a custom/unofficial build that a user wants to install, such as a build that was rumoured to be floating around on a Discord server with Starfield support. A user could also build MO2 from source and this option would allow them to install it.

image

This option is gated behind a checkbox on the Global Menu, so that it is not accidentally enabled. Also, if the file does not exist, we will fall back to downloading MO2 from GitHub.


Right now, this change is entirely untested, as I am using MO2 on my PC right now, and I don't mod on my Steam Deck. I'll need to dig out my laptop+charge/update etc, so it may be a while before I can test.

It would be great if someone could test this and see if it works!

Future Work

I'm hoping in future to apply a very similar change to Vortex. I had originally wanted to do this for Vortex (#810), but went with MO2 first because I actually like and use MO2, and it was a slightly more straightforward change compared to Vortex (as with Vortex we would have to work into the logic to ignore the version/channel etc).


TODO:

sonic2kk commented 1 year ago

Commandline usage added.

sonic2kk commented 1 year ago

Helpscreen updated.

sonic2kk commented 1 year ago

Langfiles updated.

sonic2kk commented 1 year ago

The main remaining work on this PR now is testing, and then writing up the wiki updates. Once this is confirmed to be working, I'll update the wiki.

It may be a while before I can test, so I'd appreciate any community testing.

sonic2kk commented 1 year ago

Should also more on the wiki that this option could be particularly useful if using two ModOrganizer compatdatas and that you could swap between versions this way.

sonic2kk commented 1 year ago

May have to change the UI element type, think I got it wrong...

sonic2kk commented 1 year ago

Fixed exe file picker element type and resolved conflicts.

sonic2kk commented 11 months ago

Hoping to test and merge this over the weekend.

sonic2kk commented 10 months ago

Okay, did some fixups and testing here. It works as expected. Tested this PR with using ModOrganizer 2.5.0 and ModOrganizer 2.4.2 (2.5.0 does not install but I used it as a test executable that was not 2.4.4).

I'll do a quick ShellCheck on this and make any required changes, then update the wiki and merge this. Finally, this PR is out of development hell!

sonic2kk commented 10 months ago

No changes required for ShellCheck. Will do a final glance over the code, bump the version and merge once the wiki is updated.

sonic2kk commented 10 months ago

Code looks good, ShellCheck is green, wiki is updated (Commandline Usage updated, Global Menu configuration section added), version is bumped. This is ready to merge!