DevourUnlocker/.github/workflows/build.yml
MiTHRAL 1e0f727ab7
Some checks failed
Build DevourUnlocker / windows-cross (push) Failing after 8s
Build DevourUnlocker / linux (push) Failing after 7s
Build DevourUnlocker / standalone (push) Successful in 5s
version.dll is now sole unlocker — full hooks, no user WINEDLLOVERRIDES needed
- UnityPlayer.dll imports VERSION.dll + WINHTTP.dll (objdump -p) — version.dll beside DEVOUR.exe is auto-loaded on Windows, installer now silently auto-sets WINEDLLOVERRIDES=version=n,b in Steam localconfig.vdf for Proton so user just presses Play
- src/main_version.cpp: now full HookThread (wait GameAssembly.dll + installPatches) linking devour_core (was minimal no-hooks 103K, now 14M full like winhttp) — unlocks all categories: robes/characters/perks/pets/flashlights/emotes/outfits via IsRobe/IsCharacter/HasPerk/HasOutfit + UpdateLocked* hooks
- CMakeLists.txt: version target links devour_core + winpthread static, primary = version.dll less flagged than winhttp; winhttp retained only as optional compat
- scripts/install.sh: copy version.dll primary (all categories), auto-set LaunchOptions silent, message no manual step; scripts/launch.sh: now uses version=n,b auto, checks version.dll
- standalone/injector.py: find_built_dlls prefers version.dll, ensure_mod_deployed deploys version primary; standalone/devour_unlocker.py: diagnose hints updated to version.dll
- .github/workflows/build.yml: runs-on docker (Forgejo runner media-server labels docker v6.4.0), package version.dll primary zip, linux job also docker
2026-08-24 00:29:51 -04:00

57 lines
2.6 KiB
YAML

name: Build DevourUnlocker
on:
push:
branches: [ main ]
pull_request:
workflow_dispatch:
jobs:
# git.mithraic.cloud Forgejo runner: name media-server, labels [docker] (v6.4.0). Use `docker` to match.
windows-cross:
runs-on: docker
steps:
- uses: actions/checkout@v4
with: { submodules: recursive }
- name: Install mingw + cmake (if apt available, else skip)
run: |
if command -v apt-get >/dev/null 2>&1; then
sudo apt-get update && sudo apt-get install -y cmake ninja-build mingw-w64 g++-mingw-w64-x86-64 || true
else
echo "apt not found — assuming cmake/mingw already on media-server"
fi
- name: CMake Configure (MinGW cross)
run: cmake -B build -DCMAKE_BUILD_TYPE=Release -DCMAKE_SYSTEM_NAME=Windows -DCMAKE_C_COMPILER=x86_64-w64-mingw32-gcc -DCMAKE_CXX_COMPILER=x86_64-w64-mingw32-g++ -DBUILD_WINHTTP_PROXY=ON
- name: Build (MinGW)
run: cmake --build build --config Release || (cat build/CMakeFiles/CMakeError.log; cat build/CMakeFiles/CMakeOutput.log; exit 1)
- name: Package
run: |
mkdir -p dist
cp build/version.dll dist/ 2>/dev/null || echo "no version.dll"
cp build/winhttp.dll dist/ 2>/dev/null || true
cp build/DevourUnlocker.dll dist/ 2>/dev/null || true
cp DevourUnlocker.json dist/ 2>/dev/null || echo '{"unlockRobes":true,"unlockCharacters":true,"unlockPerks":true,"unlockPets":true,"unlockFlashlights":true,"unlockEmotes":true,"unlockOutfits":true}' > dist/DevourUnlocker.json
zip -j DevourUnlocker_version_${{ github.ref_name }}.zip dist/* || zip -j DevourUnlocker_winhttp_${{ github.ref_name }}.zip dist/* || true
ls -lh dist/
- uses: actions/upload-artifact@v4
with: { name: version-cross, path: DevourUnlocker_version_*.zip }
linux:
runs-on: docker
steps:
- uses: actions/checkout@v4
- name: Install deps if apt
run: |
if command -v apt-get >/dev/null 2>&1; then
sudo apt-get update && sudo apt-get install -y cmake ninja-build || true
fi
- run: cmake -B build -DCMAKE_BUILD_TYPE=Release -DBUILD_WINHTTP_PROXY=OFF
- run: cmake --build build
- uses: actions/upload-artifact@v4
with: { name: linux-so, path: build/*.so }
standalone:
runs-on: docker
steps:
- uses: actions/checkout@v4
- run: python3 -m py_compile standalone/devour_unlocker.py standalone/gui.py tools/dump_metadata.py standalone/injector.py 2>&1 || python3 -m py_compile standalone/devour_unlocker.py standalone/gui.py tools/dump_metadata.py