-
Notifications
You must be signed in to change notification settings - Fork 73
Hedge Mod Manager
(Project Page: Hedge Mod Manager)
Hedge Mod Manager is an open-source Modern Sonic mod manager. While it only officially supports Windows, it does have partial support and fixes in place for Linux users, and upstream is friendly to Linux users. There are some hurdles that a user would normally have to jump through to get it running on Linux however. Not only does it normally require several Winetricks, but the 64bit games it supports require dotnet48
to run correctly with mods.
Check out Linux Gaming Central's writeup on using Hedge Mod Manager with SteamTinkerLaunch: https://linuxgamingcentral.com/posts/sonic-frontiers-modding-guide/
To help mitigate this and make a seamless installation process, SteamTinkerLaunch has comprehensive built-in support for Hedge Mod Manager with the following features:
- Automatic downloading and installation of Hedge Mod Manager into a dedicated Wine prefix, including all the needed Winetricks for it to run (
dotnet48 d3dx9 vcrun2019 d3dcompiler_47
) - Automatic installation of
dotnet48
for each detected 64bit game that Hedge Mod Manager supports - Automatic removal of Steam registry keys that can prevent Hedge Mod Manager from finding games
- Option to choose the latest stable or nightly release of Hedge Mod Manager in the Global Menu
- Automatic updates for both the latest stable and nightly builds of Hedge Mod Manager
- Automatic installation of any Winetricks needed to improve game compatibility, currently:
-
Sonic Generations
-
d3dcompiler_47
to support the Direct3D 11 mod
-
-
Sonic Generations
- Option to choose the Wine prefix and Proton version to run Hedge Mod Manager with, should you want to use a different version
If there are other mods for Hedge Mod Manager games that require specific Winetricks to work, please open an issue with some details and it may be added if it does not conflict with any other mods!
Please note that before you can mod your games, you will have to ensure that you game has been launched at least once after installing or moving it. If you move a game to a new drive or have freshly installed it onto a new drive/device, you will need to ensure you have launched it at least once before you can start modding. This ensures that Steam generates the Wine prefix correctly.
A list of supported games can be found in the hmmgames.txt
file on the repository. It lists the support game's name, it's Steam AppID and its architecture (32/64bit).
Ensure that you have Winetricks installed on your system and that you are using 20220411-next
or later, otherwise the installation of dotnet48
may fail. On most systems, with Winetricks installed via package manager, you should be able to update Winetricks with sudo winetricks --self-update
.
If Winetricks does not come with it, ensure that you have cabextract
installed on your system as well, as this is required by Winetricks to install dotnet48
.
On Steam Deck, HMM should work out-of-the-box with no extra configuration needed. SteamTinkerLaunch will automatically installs a local up-to-date Winetricks release. SteamTinkerLaunch also downloads Cabextract on installation as well.
NOTE: There are reports of 64bit games not launching with the modloader enabled. To work around this, manually getting a 64bit mscoree.dll
file and placing it in the same directory as your game's executable file should resolve the issue and get your games to boot.
If you run into this issue, you can grab a 64bit mscoree.dll
file from here: https://www.dll-files.com/mscoree.dll.html
This file has to be manually added as the license for this DLL may not allow for automatic fetching and downloading. To be on the safe side, users have to manually grab the DLL.
If 64bit games continue to fail to boot with the modloader, you may need to start with a clean prefix for that game and install dotnet48 using Proton 5.0. You can do this by downloading Proton 5.0 from Steam (from Desktop Mode on Steam Deck) and then selecting Proton 5.0 as your Hedge Mod Manager Proton version from SteamTinkerLaunch. Then you can run Hedge Mod Manager.
Alternatively, there is a guide on how to do this using Protontricks on Steam Deck.
To install Hedge Mod Manager with SteamTinkerLaunch, ensure you are using SteamTinkerLaunch v11.12.20221112-5
or later. Then from the command line, run steamtinkerlaunch hmm start
. This will automatically download, install and configure the latest stable Hedge Mod Manager and any currently installed games that require Winetricks. Once installed, Hedge Mod Manager will open up and you will be ready to mod your games. However, it is still completely fine to have SteamTinkerLaunch enabled as a compatibility tool for your modded Hedge Mod Manager games.
The installation process should be fully automatic or close to it. Some users may encounter a situation where they get a run32dll dialog box saying something along the lines of "The program could not be started. Would you like to view more information?" - This warning can be safely ignored by pressing "No" or pressing the close button on the window. However, if you encounter these dialogs, they will pause installation until they are closed, so be mindful of that. In testing, this does not happen on Steam Deck, but may happen on other systems.
Please note that installation of Hedge Mod Manager can take several minutes, as it can take a long time to install the dotnet48
Winetricks in particular for all of the required games. It may take an excess of 20 minutes for your installation to be fully configured with all supported 64bit Hedge Mod Manager titles. Please be patient, and if you would like to know more about the technical details of what is going on, you can check out the logs in /dev/shm/steamtinkerlaunch
to see how installation is progressing.
If you want to use a nightly release of Hedge Mod Manager, open the SteamTinkerLaunch Global menu and select the nightly release channel from the dropdown under the Hedge Mod Manager options.
NOTE: You do not have to use SteamTinkerLaunch as a compatibility tool to use Hedge Mod Manager. It will work entirely standalone from the command line, and you do not need to launch your games with SteamTinkerLaunch to enable mod support. Once mods are enabled, they will work whether or not you use Steam, SteamTinkerLaunch or Hedge Mod Manager to launch your game.
When you want to use Hedge Mod Manager, you can simply run steamtinkerlaunch hmm start
. This will automatically install the latest stable Hedge Mod Manager version. If you want to download and use the latest nightly, you can run steamtinkerlaunch hmm start "nightly"
- However the next time you run the command it will default back to stable. You can change the default version of Hedge Mod Manager to download in the Global Menu by selecting the releant the Release Channel option under Hedge Mod Manager options.
Each time you run steamtinkerlaunch hmm start
, SteamTinkerLaunch will check for the latest available version of Hedge Mod Manager from the selected release channel and automatically download the required executable. Hedge Mod Manager is only installed once when the initial prefix is generated, so updating is only a case of fetching the updated executable from the relevant release channel. It will not take as long as the initial setup (unless more games have been installed that need set up, of course). You can switch back and forth between the stable and nightly release channels, and SteamTinkerLaunch will know which release channel to poll for updates based on your selection.
As well as checking for updates, SteamTinkerLaunch will check for any newly installed 64bit Hedge Mod Manager titles and install dotnet48
for them automatically if it is not already installed. It will also check for any installed games that require any additional Winetricks for better mod support.
Once Hedge Mod Manager opens up, you can install mods and enable cheat codes like normal. It is safe to update cheat codes and mod loaders. Once you have modded your games, you can use the "Save & Play" button in the Hedge Mod Manager window to launch your game. This will launch your game normally through Steam, as Hedge Mod Manager has a dedicated check for this to work on Linux systems - Pretty cool!
If you have SteamTinkerLaunch enabled as a compatibility tool for a modded game, it will also launch fine. You can even keep the SteamTinkerLaunch instance running Hedge Mod Manager open if you want! Though it may duplicate the tray icon, you may be safer running Hedge Mod Manager from the command line if you intend to launch your games through Hedge Mod Manager.
On Steam Deck, you can launch your game normally from Game Mode with or without SteamTinkerLaunch and your mods will be loaded.
When you have enabled your mods and codes for a given title, you do not need to launch it through SteamTinkerLaunch or Hedge Mod Manager. Your mods will work regardless of how you launch the game, because HedgeModManager uses code injection via the d3d9.dll
/ d3d11.dll
, and this will be loaded regardless of how you launch the game.
The following is a list of games personally tested:
- Sonic Generations
- BetterFx Pipeline
- Double Jump
- Direct3D 11 Mod
- Sonic Origins
- Origins Blur Fix - The other filters in mod's HMM config menu also work
- Sonic Frontiers
- 06 Sonic Mod
- The GameBanana 1-click button may not work on all systems - As a workaround, you can copy the GameBanana 1-click link and paste it into
steamtinkerlaunch hmm u pasted-url
- Please note that some mod archive formats such as RARs may not be able to be extracted properly There are a few very minor caveats that you may want to be aware of when using Hedge Mod Manager with SteamTinkerLaunch.
- On KDE Plasma (including SteamOS), Hedge Mod Manager will crash if opened on or dragged onto a display that is not the Primary display. If Hedge Mod Manager always crashes in this way, try turning off the problematic monitor. Logging out and logging back in should also fix the issue.
- When starting a 64bit Hedge Mod Manager game after running Hedge Mod Manager, a "run32dll" dialog box may appear claiming "the application could not be started because of an error." This message is safe to ignore and you can press the "No" or the "X" button, and your game will start as normal.
- This may not affect all users on all systems, but it's harmless if you do encounter it.
- If there is a way to fix this, please either open an issue or submit a pull request!
- On Steam Deck, sometimes the mod loader has to be uninstalled and reinstalled. Hedge Mod Manager has a built-in button for this is under the Settings tab.
- Due to the way SteamTinkerLaunch works, automatic configuration of non-Steam releases of Sonic games are not supported. You should still be able to configure these games manually with the same Hedge Mod Manager installation and SteamTinkerLaunch by manually adding it as a Non-Steam Game and by installing any needed Winetricks with SteamTinkerLaunch, and by manually setting up the path to let Hedge Mod Manager find your game.
- Please note that you will get very little support SteamTinkerLaunch with Non-Steam releases of supported Hedge Mod Manager games as they are up to the user to configure themselves.
- SteamTinkerLaunch and upstream Hedge Mod Manager will only support legal copies of games.
Huge thanks to the Hedge Mod Manager team for their support during the development of this feature, and for permission to include Hedge Mod Manager support in SteamTinkerLaunch.
Quick Links
- Changelog
- Installation
- Usage
- Main Menu
- Global Menu
- Tray Icon
- Modding
- Platform-Specific Documentation
- Tweaks
- Utilities
- Advanced