The build scripts expect to be run from within cygwin.
Tip
Install apt-cyg and use apt-cyg install pkg...
Building this mod requires reference assemblies for Heaven's Vault that have been patched to make private fields and members public. That requries a generator for these assemblies, for which Refasmer exists, and patches to Refasmer, which exist in this repository. Since that's annoying to deal with this repository includes scripts to download, patch, and build Refasmer as part of the build process.
You'll also need Heaven's Vault installed (to use as a source for the reference assemblies), which prevents this project from easily being used in CI.
The build scripts included create three "distributions" in the dist
directory:
dist/base
- The raw DLL for the mod and supporting scripts.dist/full
- The same as above, but with BepInEx included.dist/zips
- ZIP files containing the above.
The zip files you download as part of a release come from dist/zips
.
Build & Install Everything on PC for the first time:
$ git clone ...
$ cd ruinvault
$ make dist
$ make install-full
PC Development Cycle:
$ make install
$ make run
Pushing only the DLL to Steam Deck:
$ ssh-add
$ STEAMDECK=mydeckhostname make push
Instructions adapted from dnSpy's wiki
- Install Unity Editor 2017.4.30. This is the version on
Heaven`'s Vault.exe
. - Navigate to
C:\Program Files\Unity\Editor\Data\PlaybackEngines\windowsstandalonesupport\Variations\win32_development_mono
. - Copy
UnityPlayer.dll
andWindowsPlayer.exe
into the game directory. - Delete
Heaven's Vault.exe
, and renameWindowsPlayer.exe
toHeaven's Vault.exe
- Copy all files in the
Managed
directory to the game'sHeaven's Vault_Data
directory, overwriting a few hundred files. - Use dnSpyEx' menu
Debug -> Start Debugging
to open theHeaven's Vault.exe
file.