From 21627b9b081ea511277ddd97755ce3d96c75fd19 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?John=20T=C3=B6rnblom?= Date: Sun, 25 Aug 2024 19:27:43 +0200 Subject: [PATCH] add experimental port for jailbroken PS5s --- .github/workflows/PS5.yml | 62 ++++++++++++++++++++++++++++++++ Packaging/ps5/README.md | 40 +++++++++++++++++++++ Packaging/ps5/build.sh | 39 ++++++++++++++++++++ Packaging/ps5/homebrew.js | 44 +++++++++++++++++++++++ Packaging/ps5/sce_sys/icon0.png | Bin 0 -> 45131 bytes 5 files changed, 185 insertions(+) create mode 100644 .github/workflows/PS5.yml create mode 100644 Packaging/ps5/README.md create mode 100755 Packaging/ps5/build.sh create mode 100755 Packaging/ps5/homebrew.js create mode 100644 Packaging/ps5/sce_sys/icon0.png diff --git a/.github/workflows/PS5.yml b/.github/workflows/PS5.yml new file mode 100644 index 000000000..b9b6e0eef --- /dev/null +++ b/.github/workflows/PS5.yml @@ -0,0 +1,62 @@ +name: PS5 (ps5-payload-dev) + +on: + push: + branches: + - master + paths-ignore: + - '*.md' + - 'docs/**' + pull_request: + types: [opened, synchronize] + paths-ignore: + - '*.md' + - 'docs/**' + release: + types: [published] + paths-ignore: + - '*.md' + - 'docs/**' + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + + +jobs: + ps5: + runs-on: ubuntu-24.04 + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Create Build Environment + run: | + sudo apt update + sudo apt install cmake pkg-config clang-15 lld-15 + sudo apt install build-essential autoconf libtool yasm nasm + sudo apt install smpq gperf pkgconf libarchive-tools autopoint po4a git curl doxygen wget + wget https://github.com/ps5-payload-dev/pacbrew-repo/releases/download/v0.8/ps5-payload-dev.tar.gz + sudo tar -xf ps5-payload-dev.tar.gz -C / + + - name: Build + working-directory: ${{github.workspace}} + shell: bash + run: Packaging/ps5/build.sh + + - name: Upload-Package + if: ${{ !env.ACT }} + uses: actions/upload-artifact@v4 + with: + name: devilutionx-ps5.zip + path: build-ps5/devilutionx-ps5.zip + + - name: Update Release + if: ${{ github.event_name == 'release' && !env.ACT }} + uses: svenstaro/upload-release-action@v2 + with: + asset_name: devilutionx-ps5.zip + file: build-ps5/devilutionx-ps5.zip + overwrite: true diff --git a/Packaging/ps5/README.md b/Packaging/ps5/README.md new file mode 100644 index 000000000..96ac02fd8 --- /dev/null +++ b/Packaging/ps5/README.md @@ -0,0 +1,40 @@ +# devilutionX PS5 port + +## Prerequisites +- A Playstation 5 capable of running the [ps5-payload-websrv][websrv] homebrew. +- Game assets from the Diablo game (diabdat.mpq), + or its [shareware][shareware] (spawn.mpq) + +## Installation +- Copy the game assets (e.g., via ftp) to /data/homebrew/devilutionX +- Launch the [ps5-payload-websrv][websrv] homebrew +- Launch the game from your browser at http://PS5-IP:8080, or using the + [companion launcher][launcher] from the PS5 menu system + +## Controls +- D-pad: move hero +- ○: attack nearby enemies, talk to townspeople and merchants, pickup/place + items in the inventory, OK while in main menu +- ×: select spell, back while in menus +- △: pickup items, open nearby chests and doors, use item in the inventory +- □: cast spell, delete character while in main menu +- L1: use health item from belt +- R1: use mana potion from belt +- L2: toggle character sheet +- R2: toggle inventory +- Left stick: move hero +- Right stick: move cursor +- L3: toggle auto map +- R3: click with cursor + +## Building from Source +Install the [PacBrew PS5 SDK][pacbrew], then run the following + bash script: +```console +devilutionX$ ./Packaging/ps5/build.sh +``` + +[shareware]: http://ftp.blizzard.com/pub/demos/diablosw.exe +[pacbrew]: https://github.com/ps5-payload-dev/pacbrew-repo +[websrv]: https://github.com/ps5-payload-dev/websrv +[launcher]: https://github.com/ps5-payload-dev/websrv/blob/master/homebrew/IV9999-FAKE00001_00-HOMEBREWLOADER01.pkg?raw=true diff --git a/Packaging/ps5/build.sh b/Packaging/ps5/build.sh new file mode 100755 index 000000000..696a9ffd2 --- /dev/null +++ b/Packaging/ps5/build.sh @@ -0,0 +1,39 @@ +#!/usr/bin/env bash + +set -e +SCRIPTDIR="${BASH_SOURCE[0]}" +SCRIPTDIR="$(dirname "${SCRIPTDIR}")" + +if [ -z "${PS5_PAYLOAD_SDK}" ]; then + export PS5_PAYLOAD_SDK=/opt/ps5-payload-sdk +fi + +source "${PS5_PAYLOAD_SDK}/toolchain/prospero.sh" + +${CMAKE} -DCMAKE_BUILD_TYPE=Release \ + -DDISCORD_INTEGRATION=OFF \ + -DBUILD_TESTING=OFF \ + -DASAN=OFF \ + -DUBSAN=OFF \ + -DDISABLE_LTO=ON \ + -DNOEXIT=ON \ + -DNONET=OFF \ + -DBUILD_ASSETS_MPQ=ON \ + -DDEVILUTIONX_SYSTEM_SDL_IMAGE=OFF \ + -B build-ps5 \ + -S "${SCRIPTDIR}/../../" +${MAKE} -C build-ps5 -j $(getconf _NPROCESSORS_ONLN) + +rm -rf build-ps5/DevilutionX +mkdir build-ps5/DevilutionX + +cp -r "${SCRIPTDIR}/sce_sys" build-ps5/DevilutionX/ +cp "${SCRIPTDIR}/homebrew.js" build-ps5/DevilutionX/ +cp "${SCRIPTDIR}/README.md" build-ps5/DevilutionX/ +cp build-ps5/devilutionx.mpq build-ps5/DevilutionX/ +cp build-ps5/devilutionx build-ps5/DevilutionX/devilutionx.elf + +# Let github actions do this? +cd build-ps5 +rm -f devilutionx-ps5.zip +zip -r devilutionx-ps5.zip DevilutionX diff --git a/Packaging/ps5/homebrew.js b/Packaging/ps5/homebrew.js new file mode 100755 index 000000000..6309e0547 --- /dev/null +++ b/Packaging/ps5/homebrew.js @@ -0,0 +1,44 @@ + +async function main() { + const PAYLOAD = window.workingDir + '/devilutionx.elf'; + + return { + mainText: "DevilutionX", + secondaryText: 'Diablo build for modern OSes', + onclick: async () => { + return { + path: PAYLOAD, + args: '' + }; + }, + options: [ + { + text: "Force Shareware mode", + onclick: async () => { + return { + path: PAYLOAD, + args: '--spawn' + }; + } + }, + { + text: "Force Diablo mode", + onclick: async () => { + return { + path: PAYLOAD, + args: '--diablo' + }; + } + }, + { + text: "Force Hellfire mode", + onclick: async () => { + return { + path: PAYLOAD, + args: '--hellfire' + }; + } + } + ] + }; +} diff --git a/Packaging/ps5/sce_sys/icon0.png b/Packaging/ps5/sce_sys/icon0.png new file mode 100644 index 0000000000000000000000000000000000000000..14566fc13b9feeb4f31a99b3d385895a409dacb9 GIT binary patch literal 45131 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 `RciAr;wxdDVruFSCR!ZrtNo}!mv{WK&U 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 literal 0 HcmV?d00001