Prepatcher is most importantly a powerful tool for mod developers. The project also includes a mod manager which runs before the game loads.
Prepatcher Mod features
The mod manager – Prestarter
Prestarter is still in more of a preview state currently and I’ll be expanding it in the near future. It’s already very convenient though.
- Runs before the game loads
- Press Space while the game is loading to open (unfortunately only after a message saying you can do so appears on screen)
- Load, save, copy and paste mod lists
- Undo/redo while editing (Ctrl-Z/Ctrl-Shift-Z)
Relation to Harmony
With Brrainz’s permission, Prepatcher is an alternative provider of the Harmony library for RimWorld mods. This means that:
- Prepatcher can be used in place of the Harmony mod (brrainz.harmony). In practice, this is done by patching the mod loading system to make Prepatcher satisfy dependencies on Harmony.
- Having both the Harmony mod and Prepatcher active won’t cause any problems
Prepatcher should go first in the mod list, above Core and expansions. Its placement relative to Harmony doesn’t matter, it can be put below or above it.
Prepatcher doesn’t do anything on its own, it’s only useful when other mods depend on it. The library provides patching capabilities beyond those of Harmony. Currently these are:
- Adding fields to types
- Free editing of the game’s assembly before the game starts
Visit the Github wiki for more information.
Prepatcher builds upon other great software. Thanks to Brrainz for Harmony, 0x0ade for MonoMod and jbevain for Mono.Cecil (and anyone who ever contributed to these projects!).
When you encounter an issue you think might be caused by Prepatcher, the information on what happened is most likely contained in RimWorld’s error log (Player.log).
Location of RimWorld’s error log file (Player.log):
- Windows shortcut: Press Win+R, type appdata and hit enter, go to LocalLowLudeon StudiosRimWorld by Ludeon Studios
- Windows path: %USERPROFILE%AppdataLocalLowLudeon StudiosRimWorld by Ludeon StudiosPlayer.log
- Linux: ~/.config/unity3d/Ludeon Studios/RimWorld by Ludeon Studios/Player.log
- Mac: ~/Library/Application Support/RimWorld/Player.log
Issue reports and suggestions: https://github.com/Zetrith/Prepatcher/issues
Dev wiki: https://github.com/Zetrith/Prepatcher/wiki
Standalone download: https://github.com/Zetrith/Prepatcher/ (click Code -> Download zip)