- Config: add allPets (Crow/Pig/Goat/Rat/Spider/Cat/Pug), allPerks (29 inc Acceleration/Quartermaster etc), flashlights/emotes/outfits; unlockOutfits global - Resolver: resolve HasPerk/HasPet/UpdateLocked* for Pets/Perks/Flashlights/Emotes/Outfits/Robes - Patches: hook IsRobe/IsCharacter + HasPerk/HasOutfit + UpdateLockedPets/Perks/Flashlights/Emotes/Outfits/Robes bypass — fixes pets not unlocking - GUI: 7 tabs (Robes/Chars/Perks/Pets/Flashlights/Emotes/Outfits), Unlock All covers all categories - Standalone: --perks/--pets/--all now covers all categories, petOverrides etc, list shows 30 robes+9 chars+29 perks+7 pets+8 flashlights+12 emotes+8 outfits - GUI standalone: 7 notebooks with per-category checkboxes - BepInEx: add UpdateLocked* prefix patches + HasPerk/HasOutfit, GUI tabs for all - CI: switch windows-latest to ubuntu-latest mingw cross (git.mithraic.cloud has only linux runner, windows jobs were stuck Waiting)
48 lines
2.1 KiB
YAML
48 lines
2.1 KiB
YAML
name: Build DevourUnlocker
|
|
|
|
on:
|
|
push:
|
|
branches: [ main ]
|
|
pull_request:
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
# Cross-compile Windows winhttp.dll on Linux (no native Windows runner on git.mithraic.cloud)
|
|
windows-cross:
|
|
runs-on: ubuntu-latest
|
|
continue-on-error: true
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with: { submodules: recursive }
|
|
- name: Install mingw + cmake
|
|
run: sudo apt-get update && sudo apt-get install -y cmake ninja-build mingw-w64 g++-mingw-w64-x86-64
|
|
- 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; exit 1)
|
|
- name: Package
|
|
run: |
|
|
mkdir -p dist
|
|
cp build/winhttp.dll dist/ 2>/dev/null || cp build/*.dll dist/ 2>/dev/null || echo "no dll built (expected on cross without win32 SDK)"
|
|
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_winhttp_${{ github.ref_name }}.zip dist/* || true
|
|
ls -lh dist/
|
|
- uses: actions/upload-artifact@v4
|
|
with: { name: winhttp-cross, 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
|