- Replace hard offsets (0x74B0B0) with il2cpp resolver + string-xref sigscan - winhttp.dll proxy (zero BepInEx, forwards WinHttp* exports) for Windows + Proton (WINEDLLOVERRIDES=winhttp=n,b) - Selective ImGui GUI (F6) per-robe/character overrides, persisted to DevourUnlocker.json - CMake cross-platform build, Linux .so verified - Standalone Python CLI+Tkinter (CachyOS/Proton paths, compatdata/1274570) - Install scripts pulling from git releases (install.sh/ps1), BepInEx Harmony fallback, CI build.yml - Legacy DirectX11 Edition kept as reference, x64/Release artifacts removed
44 lines
1.5 KiB
YAML
44 lines
1.5 KiB
YAML
name: Build DevourUnlocker
|
|
|
|
on:
|
|
push:
|
|
branches: [ main ]
|
|
pull_request:
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
windows:
|
|
runs-on: windows-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with: { submodules: recursive }
|
|
- name: CMake Configure (Win)
|
|
run: cmake -B build -DCMAKE_BUILD_TYPE=Release
|
|
- name: Build
|
|
run: cmake --build build --config Release
|
|
- name: Package
|
|
run: |
|
|
mkdir dist
|
|
cp build/winhttp.dll dist/ 2>/dev/null || echo "winhttp not built"
|
|
cp build/DevourUnlocker.dll dist/ 2>/dev/null || echo "dll not built"
|
|
echo '{"unlockRobes":true,"unlockCharacters":true}' > dist/DevourUnlocker.json
|
|
Compress-Archive -Path dist/* -DestinationPath DevourUnlocker_winhttp_${{ github.ref_name }}.zip
|
|
shell: pwsh
|
|
- uses: actions/upload-artifact@v4
|
|
with: { name: winhttp, path: DevourUnlocker_winhttp_*.zip }
|
|
|
|
linux:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- run: sudo apt-get update && sudo apt-get install -y cmake ninja-build
|
|
- 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: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- run: python3 -m py_compile standalone/devour_unlocker.py standalone/gui.py tools/dump_metadata.py
|