Skip to content
This repository has been archived by the owner on Jan 14, 2025. It is now read-only.

Commit

Permalink
Merge pull request #264 from rockerbacon/independent-installer
Browse files Browse the repository at this point in the history
Independent installer
  • Loading branch information
rockerbacon authored Jan 5, 2022
2 parents a6fe4ad + 31cbca8 commit cd78f0e
Show file tree
Hide file tree
Showing 40 changed files with 1,674 additions and 1,082 deletions.
17 changes: 17 additions & 0 deletions .github/workflows/formatting.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
name: formatting

on:
pull_request:
branches:
- master
- independent-installer

jobs:
indentation:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2

- name: check indentation
run: ./ci/check-file-indentation.pl *

1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
*~
*.swp
*.swo
*.orig

/gamesinfo/gamesinfo.tar.gz
674 changes: 674 additions & 0 deletions LICENSE

Large diffs are not rendered by default.

43 changes: 24 additions & 19 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,19 +1,35 @@
## Introduction

This project aims to make modding and playing Bethesda games on Linux as easy as possible. It does that by providing Lutris installers which automatically setup a working experience for the user.
This project aims to make modding and playing Bethesda games on Linux as easy as possible. It does that by providing installers which automatically setup a working experience for the user.

While these installers may be available on Lutris.net, users are always recommended to use the latest stable release from this repository. The testers and maintainers of this project have little control over the content on Lutris and cannot assure that the installers available there are up to date nor that they haven't been incorrectly modified.

## Installing Mod Organizer 2

All you need to use Mod Organizer 2 is to first install the game you want to play and then grab the latest stable release of the installer [here](https://github.com/rockerbacon/lutris-skyrimse-installers/releases). Prefer to get your games directly from Steam as that is the most tested use case.
#### Requirements

The installer will automatically configure game-specific workarounds and install the script extender for your game of choice. Java binaries are also made available at `C:\java` for running Proc Patchers.
You may need to manually install the following programs:

You can use the installer with the following terminal command, remember to change the path if the file was downloaded to another location:
```bash
lutris -i "$HOME/Downloads/modorganizer2.yml"
```
- _7z_
- _protontricks_

The following requirements should be available out-of-the-box in most systems:

- _bash_
- either _curl_ or _wget_
- _zenity_

All requirements should be readily available in your distribution's package manager.

#### Installation steps

1. Install the game you want to play. Prefer to get your games directly from Steam as that is the most tested use case;
2. Download the source code of the latest stable release [here](https://github.com/rockerbacon/lutris-skyrimse-installers/releases);
3. Extract the downloaded file;
4. Open the extracted folder in a terminal and execute `./install.sh`;
5. The installer will start and guide you through the rest of the process;

The installer will automatically configure game-specific workarounds and install the script extender for your game of choice. Java binaries are also made available at `C:\java` for running Proc Patchers.

### Features

Expand All @@ -35,18 +51,7 @@ Please, help to keep this table up to date by [opening issues](https://github.co

## Updating Mod Organizer 2

Updating Mod Organizer 2 is a simple process. For safety, you may want to backup your Mod Organizer 2 directory before updating.

Here is what you need to do in order to update:

1. Download the newest installer containing the update;
2. Remove Mod Organizer 2 from Lutris WITHOUT REMOVING ANY DATA: right click > Remove > uncheck option to remove data > Apply;
3. Find your Lutris cache path in Preferences > Lutris Preferences;
4. Clear the Lutris cache for Mod Organizer 2 (if it exists) with this terminal command:
```bash
rm -rf <cache path>/mod-organizer-2
```
5. Use the newest installer to install Mod Organizer 2 in the path to the old installation
You can update by simply following the install instructions again. It is recommended to backup your existing installation before updating.

## Installing Vortex

Expand Down
70 changes: 70 additions & 0 deletions ci/check-file-indentation.pl
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
#!/usr/bin/perl

use autodie;
use strict;
use warnings;
use File::Find;
use Term::ANSIColor;

sub filter_entries {
my @valid_entries=();
foreach (@_) {
if (
-d and ! /^\.[!\.]/
or
-f and /\.(sh|pl)/
) {
push(@valid_entries, $_);
}
}

return @valid_entries;
}

sub check_indentation {
open (my $file_handle, "<", $_);

while (<$file_handle>) {
if (/^\s* /) {
return 1;
}
}

return 0;
}

my $fails = 0;
sub check_dir_entry {
if (! -f) {
return 0;
}

print "$File::Find::name:";

if (! check_indentation) {
print colored(" OK", "green");
} else {
print colored(" INCORRECT", "red");
$fails++;
}

print "\n";
};

my %find_options = (
preprocess => \&filter_entries,
wanted => \&check_dir_entry,
);

find(\%find_options, filter_entries @ARGV);

print "\n";
if ($fails) {
print colored("Indentation check failed!\n", "red");
print "Make sure to indent files using tabs\n";
} else {
print colored("All files are OK!\n", "green");
}

exit $fails;

161 changes: 0 additions & 161 deletions config-scripts/vortex-symlinks.sh

This file was deleted.

25 changes: 7 additions & 18 deletions gamesinfo/fallout3.sh
Original file line number Diff line number Diff line change
@@ -1,22 +1,11 @@
# could be either Fallout 3 or Fallout 3 Game of The Year Edition
fo3_possible_appids=(22300 22370)

for fo3_appid in "${fo3_possible_appids[@]}"; do
fo3_library=$("$CACHE/utils/find-library-for-appid.sh" $fo3_appid)
if [ -d "$fo3_library" ]; then
steam_library="$fo3_library"
break
fi
done

if [ "$fo3_appid" == "22300" ]; then
game_steam_subdirectory="Fallout 3"
else
game_steam_subdirectory="Fallout 3 goty"
fi
game_appid=$fo3_appid
game_proton_options="--protonver 5.0"
game_appid=22300
game_nexusid="fallout3"
game_steam_subdirectory="Fallout 3"
game_protonver="5.0"
game_proton_options=""
game_wine_options=""
game_protontricks="d3dcompiler_43 d3dx9"
game_winetricks="d3dcompiler_43 d3dx9"
game_scriptextender_url="https://www.fose.silverlock.org/download/fose_v1_2_beta2.7z"
game_scriptextender_files="*"

11 changes: 11 additions & 0 deletions gamesinfo/fallout3_goty.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
game_appid=22370
game_nexusid="fallout3"
game_steam_subdirectory="Fallout 3 goty"
game_protonver="5.0"
game_proton_options=""
game_wine_options=""
game_protontricks="d3dcompiler_43 d3dx9"
game_winetricks="d3dcompiler_43 d3dx9"
game_scriptextender_url="https://www.fose.silverlock.org/download/fose_v1_2_beta2.7z"
game_scriptextender_files="*"

6 changes: 5 additions & 1 deletion gamesinfo/fallout4.sh
Original file line number Diff line number Diff line change
@@ -1,7 +1,11 @@
game_steam_subdirectory="Fallout 4"
game_nexusid="fallout4"
game_appid=377160
game_proton_options="--noesync --native 'xaudio2_7' --protonver 5.0 -e 'PULSE_LATENCY_MSEC=90'"
game_protonver="5.0"
game_proton_options="--noesync --native 'xaudio2_7' -e 'PULSE_LATENCY_MSEC=90'"
game_wine_options="--native 'xaudio2_7'"
game_protontricks=""
game_winetricks=""
game_scriptextender_url="https://f4se.silverlock.org/beta/f4se_0_06_21.7z"
game_scriptextender_files="*"

6 changes: 5 additions & 1 deletion gamesinfo/morrowind.sh
Original file line number Diff line number Diff line change
@@ -1,7 +1,11 @@
game_steam_subdirectory="Morrowind"
game_nexusid="morrowind"
game_appid=22320
game_proton_options="--protonver 5.0"
game_protonver="5.0"
game_proton_options=""
game_wine_options=""
game_protontricks="d3dcompiler_43 d3dx9"
game_winetricks="d3dcompiler_43 d3dx9"
game_scriptextener_url="https://github.com/MWSE/MWSE/releases/download/build-automatic/mwse.zip"
game_scriptextender_files="*"

Loading

0 comments on commit cd78f0e

Please sign in to comment.