BlueCookieFrog / mint

Deep Rock Galactic mod loader and integration
MIT License
1 stars 0 forks source link

mint

Disclaimer

mint is not officially endorsed by Ghost Ship Games (GSG), not are mint contributors affiliated with GSG. mint is a third-party tool**, use at your own risk.

mint is third-party party mod integration tool for Deep Rock Galactic (DRG) to download and integrate mods completely externally of the game. This enables more stable mod usage as well as offline mod usage.

Supported game versions

mint is intended to work for both Steam and Microsoft Store versions of DRG.

Supported environments

Contributor bandwidth is very limited, so only select environments are intentionally supported depending on what environments the contributors have access to test in. We are unable to help diagnose your problems if you are using an environment that we don't have access to.

Graphical User Interface

Mods are added via URL to a .pak or .zip containing a .pak. Mods can also be pulled from mod.io. Examples:

Mods from mod.io will require an OAuth token which can be obtained from https://mod.io/me/access when prompted.

Most mods work just as if they were loaded via the official integration, but there are still some behavioural differences. If a mod is crashing or otherwise behaving differently than when using the official mod.io integration, please create an issue so it can be addressed.

Usage etiquette

mint does not enforce sandbox saves. As such:

For more details, please consult our user guide.


Compiling from Source

mint can be tricky to build from source, because it has two components:

  1. GUI and supporting library code (the "app")
  2. DLL hook (the "hook")

The app needs to be built for your host target.

The hook must be cross-compiled as a C dynamic library for the x86_64-pc-windows-msvc or x86_64-pc-windows-gnu target depending on your environment. This means that you will need a suitable cross-compiler to build the hook if your host environment is not one of x86_64-pc-windows-msvc or x86_64-pc-windows-gnu.

Requirements

You need a working Rust distribution to build mint, which can be acquired via the rustup installer.

mint requires a nightly rust toolchain.

You can acquire a nightly toolchain suitable for your host environment by:

$ rustup install nightly 

mint also requires gtk dependencies.

Linux / WSL

On Linux, you will need a cross-compiler for x86_64-pc-windows-gnu. For example, x86_64-w64-mingw32-gcc.

I only have access to Ubuntu, so the exact package names and installation instructions will depend on your specific Linux distro.

Ubuntu
$ sudo apt-get update
$ sudo apt-get upgrade
# Basic build utils
$ sudo apt-get install build-essential pkg-config
# C cross-compiler
$ sudo apt-get install gcc-mingw-w64
# gtk3
$ sudo apt-get install libgtk-3-dev

Windows

On Windows, you'll need the latest Visual C++ build tools. It's easiest if you acquire it via rustup-init and follow the recommended installation settings. See https://rust-lang.github.io/rustup/installation/windows-msvc.html for more details.

Compiling and running

For development builds,

$ cargo build

For actual usage, you should build with release profile

$ cargo build --release

Basic Usage

This section assumes that you are on Windows and is using the steam version of DRG, working with either local .paks or mod.io mods.

First, download the latest release compatible with your architecture. For windows, this will be the mint-x86_64-pc-windows-msvc.zip. Extract this to anywhere you'd like to keep the executable.

Then, we'll need to perform some first-time setup.

First Time Setup

We need to provide the tool with the path to FSD-WindowsNoEditor.pak and a mod.io OAuth token if you want to use mod.io mods. These can be configured in the settings menu (cogwheel located in the bottom toolbar).

Settings menu

Locating the DRG FSD-WindowsNoEditor.pak

If the tool fails to detect your DRG installation, then you can manually browse to add the path to FSD-WindowsNoEditor.pak.

This file is located under the FSD folder inside your DRG installation directory, e.g.

E:\SteamLibrary\steamapps\common\Deep Rock Galactic\FSD\FSD-WindowsNoEditor.pak

Adding a mod.io OAuth Token

Inside the settings menu, there is a modio setting (cogwheel). If you click on that, it will prompt for an mod.io OAuth token.

To generate a mod.io OAuth token, you'll need to visit https://mod.io/me/access. You'll need to accept the API terms and conditions.

mod.io Access page

Then, you'll need to add a new client under OAuth Access, call it e.g. "DRG Mod Integration".

For that client, create a new token named e.g. "modio-access" with Read-only scope. Copy the token into the integration tool's prompt.

Adding Mods

After these steps, you can now add local mods or mod.io mods.

Adding mod.io mods

Copy the URL to the mod into the "Add mods..." field and hit enter.

You can obtain a list of your subscribed mods list using the "Copy Mod URLs" button via A Better Modding Menu in game:

Copy Mod URLs

Adding a local mod

You can either drag and drop a local .pak file on to the tool window, or add the path to the local .pak in the same "Add mods..." field.

Updating Cache

The versioned mod.io mods are cached. If you want to update to the latest version of your mods, you'll need to press the "Update cache" button.

Installing/uninstalling mods

Once you are happy with your mod profile, you can install the mods by pressing the "Install mods" button, and uninstall them with the "Uninstall mods" button. This must be done while the game is closed.

Using integrated mod support again

If you want to go back to the integrated mod support again, you must uninstall the mods installed by mint. Then, launch the game normally.