84 Commits

Author SHA1 Message Date
furglitch
0e90a31e0b Update installer version to 6.0.7 2025-11-22 20:46:28 -06:00
furglitch
44de5ee5e9 Add script extender download from Nexus 2025-11-22 19:36:29 -06:00
furglitch
ef7033d794 Convert indentation 2025-11-22 15:32:50 -06:00
Furglitch
3011f972dd Merge branch 'master' into feat/nexus_download 2025-11-22 15:31:49 -06:00
furglitch
57e59eb004 Finalize Nexus API download function 2025-11-22 15:22:39 -06:00
furglitch
4b80a94c7f Add API token retrieval via SSO
Opens the user's default browser (xdg-open) while the websocat instance listens for further json outputs from Nexus. Stores it in nexus.env.
IT TOOK ME THREE HOURS TO FIGURE OUT THAT THE DAMN WEBSOCAT INSTANCE WAS CLOSING BEFORE GETTING THE TOKEN
2025-11-22 13:46:15 -06:00
furglitch
89575bc0fb Add UUID and Connection Token retrieval via websocket
Opens a websocat instance and generates a uuid to send to Nexus' servers, retrieving a connection token and storing it with the UUID in ~/.local/share/modorganizer2/nexus.env
Utilizes the UUID or connection token if they already exist in the .env file.
2025-11-22 13:46:03 -06:00
furglitch
193aace24b Revert Fallout3 exe info, reflect new optional downgrade method. 2025-11-16 18:44:14 -06:00
Furglitch
8cd24d8475 Standardize variable names 2025-10-12 20:48:11 -05:00
Blake F Lowe
e1e8231e4e winetricks.sh: use and prefer downloaded winetricks if present
This uses the winetricks copy downloaded in download_external_resources
.sh and installed to ~/.local/share/modorganizer2/winetricks. Curiously,
it seems like this file was completely unused.

I'm happy to put it to use, as the winetricks verbs are more likely to
succeed the newer the version of winetricks we use, and the downloaded
one is the bleeding-edge latest release.
2025-10-06 16:26:06 -04:00
Blake F Lowe
e461e0bd73 add heroic support to NXM handler
This makes an important change to our instance directories: we are now
using variables.sh instead of appid.txt.

The latter is inextensible -- we can't just add heroic-related
information to it without using error-prone parsing to determine if it
is a new or old version of that file.

The new file variables.sh can be easily sourced by
modorganizer2-nxm-broker.sh, and can be also extended to add more
information over time as needed.

Some extra code has been added for backwards-compatibility when an
appid.txt file is found.
2025-10-06 16:24:33 -04:00
Blake F Lowe
bd945dd7a7 heroic: use winetricks to apply verbs
This introduces a new script, winetricks.sh, to wrap the command. Like
protontricks.sh, we prefer to use the version in the
com.github.Matoking.protontricks flatpak if present.
2025-10-06 16:24:33 -04:00
Furglitch
034f1c14df Change port 2025-10-05 12:13:39 -05:00
Blake F Lowe
d1adf8803d heroic: fall back to default wine version if unset for a game
Also, fail correctly if wine versions or prefixes are set to the empty
string.
2025-10-05 03:43:01 -04:00
Blake F Lowe
139f50e392 heroic: load game info for GOG and Epic games
This introduces the new helper script find-heroic-game-installation.sh
to find games installed by Heroic. It does a bit more work than its
sister script for Steam, find_library_for_file.sh; namely, it looks up
the Wine version and prefix folder set for the game. We need these
because we can't use protontricks later.

In load_gameinfo.sh, we now search in both Steam and Heroic locations to
find the selected game. The current logic is short-circuiting, so if a
Steam game is found, Heroic will not be checked. We could consider
checking both and allowing the user to choose which version they want;
however, I think the likelihood of someone installing the same game in
two different launchers is low enough to not justify the extra code.

This commit downgrades an absent appid from an error to a warning. This
allows us to incrementally add support for GOG/Epic games before adding
Steam support.

We set a new variable, game_launcher, which has the value of "steam" or
"heroic", allowing other scripts to implement different logic for each
launcher.
2025-10-05 03:42:48 -04:00
Furglitch
27f3f6833d Temporary adjustments 2025-10-04 19:17:44 -05:00
Furglitch
486c5566a7 Add auth url printing for test 2025-10-04 18:33:26 -05:00
Blake F Lowe
5d36edfe49 fix Fallout 3 downgrade check
This check was formerly unreachable. Further, even if it were hit, it
was checking in the wrong folder for the Fallout3Launcher.exe file.

Rather than relying on the presence or absence of $steam_library, script
find-library-for-file.sh now returns different error codes for the
following cases:

0: Success
1: Game not installed
2: Fallout 3 is installed, but must be downgraded
2025-10-04 18:48:04 -04:00
Furglitch
6158b771cb Adjust code challenge creation, add URL generation 2025-09-18 23:21:07 -05:00
Furglitch
d74efe4bd4 Fix indents 2025-09-18 23:09:14 -05:00
Furglitch
ef8eaa7feb Add code challenge 2025-09-18 23:08:18 -05:00
Furglitch
dfad9dd075 Fix indentation check 2025-09-06 21:23:14 -05:00
Furglitch
a2b23e4949 Add nexus download function 2025-09-06 21:14:52 -05:00
Furglitch
9fc76ed707 Add Nexus download-link fetching 2025-09-06 16:37:11 -05:00
Furglitch
1260ddfdbe Add verbose output for external downloads 2025-09-05 22:06:11 -05:00
Furglitch
e000c5b0b8 Remove redundant dialog type 2025-09-05 20:23:11 -05:00
Furglitch
0e558ecb35 Add verbose logging flag for protontricks 2025-09-05 18:51:20 -05:00
Furglitch
1428f1058f Stop search for Steam when found 2025-07-31 13:46:59 -05:00
Furglitch
ef9d3e3be1 Fix bad implementation of 827136d 2025-07-28 12:36:24 -05:00
Furglitch
cd051affb5 Merge pull request #788 from Furglitch/plugin-installer
Add automated plugin installation
2025-07-26 21:16:30 -05:00
Furglitch
aeca7df88b Add automated plugin installation 2025-07-26 16:35:07 -05:00
Tim Elmer
16ab2a42b6 Add custom game option 2025-07-12 20:01:18 -07:00
rockerbacon
af410ac74d prefer flatpak protontricks when available 2024-05-11 19:13:10 -03:00
Stanisław Zieliński
663129f108 Add support for Wget2 (#619) 2024-05-04 13:30:03 -03:00
rockerbacon
a38c7035fc don't suppress protontricks error messages when getting prefix 2024-05-04 09:44:18 -03:00
rockerbacon
21322f5448 don't ellipsize zenity boxes 2024-05-04 07:50:56 -03:00
rockerbacon
65025eafe2 generic progress bar for download utility 2024-05-04 07:20:19 -03:00
rockerbacon
c976f45dde fix loading game prefix information when game does not have a prefix setup 2024-01-27 10:29:08 -03:00
rockerbacon
36cea997de create utility for cleaner protontricks usage 2023-08-17 16:29:48 -03:00
rockerbacon
85ae53aab8 utility for getting the operating system id 2023-08-17 13:43:46 -03:00
rockerbacon
f845cd654d improve dialog functions to avoid early exits 2023-07-27 14:48:38 -03:00
rockerbacon
f7131fb0a8 Fix steam library iteration when library path contains spaces 2023-07-25 16:00:35 -03:00
rockerbacon
c4950de7c8 Rewrite dangerquestion dialog for better compatibility and visibility 2023-07-20 21:29:57 -03:00
rockerbacon
ab1845cda8 Detect game library by searching for the game's executable 2023-07-20 16:19:11 -03:00
rafaelrc7
f6f42d3585 Update script shebangs 2022-11-03 18:47:03 -03:00
adolfgatonegro
ab4fc32631 Fixed overlapping path when STEAM_LIBRARY exists 2022-04-04 14:42:03 -05:00
Vitor Santos
223e72bd3b Removed unused code 2022-01-06 17:54:09 -03:00
Vitor Santos
d625ca3dfe Adjusted installation steps for updating 2022-01-05 11:21:46 -03:00
Vitor Santos
4276927da1 Reuse utilities in proton launchers 2022-01-04 15:54:57 -03:00
Vitor Santos
6683b165d2 Fixed method for applying winetricks to proton prefix 2022-01-04 14:44:40 -03:00