This is a launcher for Spelunky 2 that injects a dll for extended mod management. It currently supports string, shader, sprite and string mods, with some extended features for more fine grained modding. See the Wiki for details.
- Loose loading of resources
- Mod Management
- Sprite mods
- Shader mods
- String mods
- Script mods For more details on each feature check the Wiki.
- Anti-anti-debug injection via ScyllaHide
- Logging to console via
--console
A huge thanks to the spelunky-fyi team for their input, suggestions, support and for making all their hard work open source. Special thanks to gmjosack
, Dregu
and iojonmbnmb
that made it possible for this tool to exist. And even huger thanks to SK83RJOSH
for basically teaching me how to reverse engineer software by himself.
Only Windows build is supported:
git clone git@github.com:spelunky-fyi/Playlunky.git
cd playlunky
git submodule update --init --recursive
mkdir build
cd build
cmake ..
cmake --build . --config Release
cmake --install .
Build artifacts are found in the publish
folder.
- MSVC 2019 (for C++20)
- python
- cmake
- conan
- clang-format
If you have installed Spelunky 2 then the install folder should be found during configuration of the project and starting a debugging session will launch Spelunky 2 with the playlunky64.dll
injected. If you want to debug the game itself as well as the playlunky64.dll
it is highly recommended to get the Microsoft Child Process Debugging Power Tool extension and enable child process debugging in Debug
→ Other Debug Targets
→ Child Process Debugging Settings...
This section can be ignored for Spelunky 2 versions newer than 1.20.0j, perhaps even some older versions.
If the game employs any anti-debugging strategies it is supported to inject ScyllaHide into the game process. To do this download ScyllaHide from Github and extract it into a ScyllaHide subfolder right next to the game. The playlunky64.dll
will do the rest.