-
Backup your
Lightning.exe
. These tools won't damage it, but you might - rename it to something likeLightningBackup.exe
. -
Compile
Opus Modded
(produces mapped & patched decompiled output) andOpusPatcher
(helps dump scrambled strings). Copymappings.csv
,keys.txt
, andpatch.diff
fromOpus Modded
to somewhere else, you'll need those. -
Run
OpusPatcher.exe
, passing the path to yourLightning.exe
as the first command line argument, and the path to yourkeys.txt
as the second. It creates a newLightning.exe
in the directory you ran it - move it to the normal Opus Magnum folder and run it. It must be namedLightning.exe
, and I think it has to be in the correct folder (though I haven't tested). It won't start the game, instead creatingout.csv
. Avoid overwriting your originalLightning.exe
. Don't worry if you do - Steam can redownload it. It's just annoying. -
Run
Opus Modded.exe
, passing the path to yourLightning.exe
as the first argument and path tomappings.csv
as the second. This will createdecomp.cs
. -
Apply
patch.diff
todecomp.cs
with git:git apply --unsafe-paths patch.diff
in git bash, in a directory containing bothdecomp.cs
andpatch.diff
. The patch fixes compilation errors and adds Ravari's Wheel, a testing part. -
Open
decomp.cs
in a Visual Studio project, set the CPU architecture to x86, addSteamworks.NET.Standard.Windows.x86
andIonic.Zip
as dependancies from NuGet, and build (Ctrl+B). This will create a number of files in/bin/Debug/netcoreapp3.1/
relative to the projects directory. Copy them all to your Opus Magnum folder. -
Run the new executable to play the modded game, passing the path to
out.csv
as a command line parameter. You might want to setup a script to simplify that. -
Marvel at Ravari's Wheel and all of the bugs.
-
Submit PRs to help me.
Yes, I would like to merge the two executables into one and have it automatically compile and handle everything for you, but I'm lazy and have more important things to do.
There's two executables because OpusPatcher.exe
has to use the same older version of .NET that Opus Magnum uses, and Opus Modded.exe
was made before I realized that and uses newer language features (using
statements 💛).