No description
- install.sh: also fix when LaunchOptions has version=n,b but missing %command% (truncated WINEDLLOVERRIDES="version=n,b" WINEDLLOVERRIDES=" case from previous malformed VDF) - diagnose: use 30-line ahead window for Apps->1274570, show all 3 users OK |
||
|---|---|---|
| .github | ||
| BepInEx | ||
| DirectX11 Edition | ||
| scripts | ||
| src | ||
| standalone | ||
| tools | ||
| .gitignore | ||
| CMakeLists.txt | ||
| DevourUnlocker.json | ||
| LICENSE | ||
| README.md | ||
DevourUnlocker v2 — Cross-Platform (Windows + Linux Proton)
Full rewrite of the 3-year-stale DirectX11 DLL. Now: selective GUI, no hard offsets (il2cpp resolver + sigscan), winhttp.dll proxy for zero-install, multiplayer safe for friend lobbies, plus a standalone tool.
Legacy DirectX11 Edition/ is kept as legacy/ reference — new code is in src/ (CMake) + BepInEx/ + standalone/.
Quick Install (pulls from your Git releases)
Windows (PowerShell):
iwr https://raw.githubusercontent.com/mithral/DevourUnlocker/main/scripts/install.ps1 -OutFile install.ps1
.\install.ps1 # auto-finds Steam Devour
# or: .\install.ps1 -GameDir "C:/Program Files (x86)/Steam/steamapps/common/Devour"
Linux — CachyOS / Proton:
curl -fsSL https://raw.githubusercontent.com/mithral/DevourUnlocker/main/scripts/install.sh | bash
# then in Steam: Devour -> Properties -> Launch Options:
# WINEDLLOVERRIDES="winhttp=n,b" %command%
Uninstall:
bash scripts/install.sh --uninstall
# or ps1: .\install.ps1 -Uninstall
Launch Devour → F6 toggles GUI (pick robes/characters), F5 unloads. No BepInEx needed.
What It Does
- Hooks
IsRobeUnlocked/IsCharacterUnlockedresolved at runtime viail2cpp_class_from_name+ string-xref sigscan — no0x74B0B0hard offset. Works across updates until method names change. winhttp.dllproxy forwards allWinHttp*exports to systemwinhttp— HTTP/auth/lobby unaffected. Photon/udpkit/bold networking untouched.- GUI: ImGui DX11 (Win) / SDL fallback (Proton). Selective per-item overrides stored in
DevourUnlocker.jsonbesideDEVOUR.exe. - Multiplayer: client-visual only, no VAC/EAC. Friend lobbies tested on Proton ↔ Windows — no desync, no ban.
Alternatives
- BepInEx plugin (
BepInEx/DevourUnlocker.cs) — if you already use Thunderstore/r2modman. Patches by method name via Harmony, same GUI viaOnGUI. - Standalone (
standalone/devour_unlocker.py+gui.py) — no injection; writesDevourUnlocker.jsonfor the mod to consume. Runpython standalone/gui.pyorpython standalone/devour_unlocker.py unlock --all.
python standalone/devour_unlocker.py list
python standalone/devour_unlocker.py unlock --robes Golden,StraightJacket --chars Molly,Zara
python standalone/devour_unlocker.py unlock --all --exclusive --json ~/DevourUnlocker.json
python standalone/gui.py # Tkinter checkboxes
Build From Source
Windows (MSVC):
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build --config Release
# outputs build/winhttp.dll + build/DevourUnlocker.dll
Linux (for .so / testing):
cmake -B build -DCMAKE_BUILD_TYPE=Release -DBUILD_WINHTTP_PROXY=OFF
cmake --build build
Release zip:
powershell scripts/make_release.ps1 # or: zip -j DevourUnlocker_winhttp_v2.0.0.zip build/winhttp.dll build/DevourUnlocker.dll DevourUnlocker.json
Structure
src/ # native mod (CMake, winhttp proxy, resolver, patches, gui)
il2cpp_resolver.* # no hard offset
patches.* # IsRobe/IsCharacter hooks (MinHook)
gui/overlay.* # ImGui selective GUI
platform/ # win32.cpp, winhttp_proxy.cpp, linux.cpp
BepInEx/ # fallback Harmony plugin
standalone/ # python CLI + Tkinter GUI
scripts/install.* # pull-from-git installers
tools/dump_metadata.py # parse global-metadata.dat -> robes list
DirectX11 Edition/ # legacy v1 (unchanged, now x64/ removed)
Troubleshooting
- GUI not showing: Under Proton, ensure
WINEDLLOVERRIDESis set. Checkcompatdata/1274570/.../Player.logfor[DevourUnlocker] Present hooked. - winhttp conflict: Another mod already uses
winhttp.dll→ useBepInExbuild or chain-load viadoorstop. - After game update hooks miss: Run
python tools/dump_metadata.py /path/to/global-metadata.dat— ifIsRobeUnlockedgone, open issue with newPlayer.log.
License
MIT — see LICENSE. Original by RaizyDaizy, rewrite by fork.