The most advanced modding platform for games running on DICE's Frostbite game engine.
Uses Dinput8Proxy, WinmmProxy, CryptHook and Wine-symlink-dll.
Uses SharpSevenZip.
- Fixed symbolic linking of files in mod deployment.
- Added hard linking option for mod deployment (off by default).
- Reworked actions tab and fixed it's performance.
- Fixed drag and drop on Linux.
- Fixed game icons on Linux.
- Added
Install modsbutton. - Fixed
BCryptVerifySignaturepatching with Dinput8Proxy and CryptHook. - Fixed multi threading issues in the program.
- Fixed minimize, maximize, close buttons on Linux.
- Fixed some file removal issues.
- Added warning for BetterInitFs plugin.
- Disabled auto update.
- Updated project to .NET framework 4.8.1.
- Added exceptions logging for mod installation.
- Added basic Wine installation validation.
- Rewritten support for 7z archives.
- Install native Steam (no flatpaks, snaps, or other shenanigans).
- Add
FrostyModManager.exeas a non-Steam game. - In Steam properties of Frosty set compatibility to later Proton-GE (10-28 as of writing).
- Launch Frosty in Steam, click Scan.
- Choose your game, add mods, add mods with Add mods button (or drag and drop them).
- Install mods with Install mods button.
- After mods installation take note of launch options provided by manager, add these options to the Steam game under game properties.
Pros:
- Fast
- Safe
- Reliable
Cons:
- Game directory with hard links reports ~twice the size it actually takes
Pros:
- No issues with reported game directory size
- Clear indication in file explorer if file is modded or not
Cons:
- A little less safe, experimental
Even if Linux supports symbolic links just fine, Wine does not implement their support at all. But fortunately there is a loop hole, that allowed me to reimplement symbolic links under Wine.
I've implemented simple Wine-symlink-dll, which is a custom Wine PE DLL. This allows me to perform basic symbolic link operations under Frosty. It does its job alright.
To translate Windows paths to Linux I'm using wine_get_unix_file_name from Wines windows.h header.
It is an experimental approach with risks, that hacks Wines safeguards, but until Wine starts properly supporting symlinks it's the best we have.
- Download Git https://git-scm.com/download/win.
- Create an empty folder, go inside it, right click an empty space and hit "Git Bash Here". That should open up a command prompt.
- Press the green "Code" button in the repository and copy the text under "HTTPS".
- Type out
git clone <HTTPS code>in the command prompt and hit enter. This should clone the project files into the folder. - Open the solution (found under FrostyEditor) with Visual Studio 2019, and make sure the project is set to
DeveloperDebugandx64. Close out of retarget window if prompted. - Only build the projects themselves, never the solution.
The Content, Name, Code, and all assets are licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.