From 4a34544678558bb71cd606989edf4e618bc37b60 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?John=20T=C3=B6rnblom?= Date: Thu, 3 Feb 2022 14:50:26 +0100 Subject: [PATCH] Port to Playstation 4 (#3988) --- .github/workflows/PS4.yml | 42 ++++++++++++++++++++++++++++++++ CMake/Platforms.cmake | 4 +++ CMake/platforms/ps4.cmake | 19 +++++++++++++++ CMakeLists.txt | 9 +++++++ Packaging/ps4/README.md | 40 ++++++++++++++++++++++++++++++ Packaging/ps4/build.sh | 14 +++++++++++ Packaging/ps4/sce_sys/icon0.png | Bin 0 -> 46821 bytes 7 files changed, 128 insertions(+) create mode 100644 .github/workflows/PS4.yml create mode 100644 CMake/platforms/ps4.cmake create mode 100644 Packaging/ps4/README.md create mode 100755 Packaging/ps4/build.sh create mode 100644 Packaging/ps4/sce_sys/icon0.png diff --git a/.github/workflows/PS4.yml b/.github/workflows/PS4.yml new file mode 100644 index 000000000..ca8659cdc --- /dev/null +++ b/.github/workflows/PS4.yml @@ -0,0 +1,42 @@ +name: PS4 Release Build + +on: + push: + branches: + - master + pull_request: + types: [ opened, synchronize ] + release: + types: [created] + workflow_dispatch: + +jobs: + ps4: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v2 + with: + fetch-depth: 0 + + - name: Create Build Environment + run: > + sudo apt update && + sudo apt install -y wget cmake git gettext smpq && + wget https://github.com/PacBrew/pacbrew-pacman/releases/download/pacbrew-release-1.0/pacbrew-pacman-1.0.deb && + sudo dpkg -i pacbrew-pacman-1.0.deb && sudo pacbrew-pacman -Sy && + sudo pacbrew-pacman --noconfirm -S ps4-openorbis ps4-openorbis-portlibs && + echo "#include " | sudo tee /opt/pacbrew/ps4/openorbis/include/sys/endian.h + + - name: Build + working-directory: ${{github.workspace}} + shell: bash + run: Packaging/ps4/build.sh + + - name: Upload-Package + if: ${{ !env.ACT }} + uses: actions/upload-artifact@v2 + with: + name: devilutionx.pkg + path: build-ps4/devilutionx.pkg + diff --git a/CMake/Platforms.cmake b/CMake/Platforms.cmake index 16422ae2f..24a6e67fb 100644 --- a/CMake/Platforms.cmake +++ b/CMake/Platforms.cmake @@ -48,6 +48,10 @@ if(VITA) include(platforms/vita) endif() +if(PS4) + include(platforms/ps4) +endif() + if(ANDROID) include(platforms/android) endif() diff --git a/CMake/platforms/ps4.cmake b/CMake/platforms/ps4.cmake new file mode 100644 index 000000000..aa39f6953 --- /dev/null +++ b/CMake/platforms/ps4.cmake @@ -0,0 +1,19 @@ +set(DISCORD_INTEGRATION OFF) +set(BUILD_TESTING OFF) +set(ASAN OFF) +set(UBSAN OFF) +SET(DISABLE_LTO ON) +set(NONET ON) +set(NOEXIT ON) +set(BUILD_ASSETS_MPQ ON) + +# Packbrew SDK provides SDL_image, but FindSDL2_image() fails to +# pick up its dependencies (with includes libjpeg, libwebp etc). +# One way to address this, is to do the following: +# +# target_link_libraries(${BIN_TARGET} PUBLIC ${PC_SDL2_image_LIBRARIES}) +# +# or simply use the in-tree copy as follows: +set(DEVILUTIONX_SYSTEM_SDL_IMAGE OFF) + + diff --git a/CMakeLists.txt b/CMakeLists.txt index 1724a6482..8ba33c6d2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -337,6 +337,15 @@ if(VITA) endif() +if(PS4) + add_custom_command( + TARGET devilutionx_mpq POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy ${DEVILUTIONX_MPQ} "${PROJECT_SOURCE_DIR}/Packaging/ps4/") + add_self(${BIN_TARGET}) + add_pkg(${BIN_TARGET} "${PROJECT_SOURCE_DIR}/Packaging/ps4" + "DVLX00001" "DevilutionX" "${PROJECT_VERSION}") +endif() + if(NINTENDO_3DS) set(APP_TITLE "DevilutionX") set(APP_DESCRIPTION "DevilutionX port for 3DS") diff --git a/Packaging/ps4/README.md b/Packaging/ps4/README.md new file mode 100644 index 000000000..5f5a4f60c --- /dev/null +++ b/Packaging/ps4/README.md @@ -0,0 +1,40 @@ +# devilutionX PS4 port + +## Prerequisites +- A Playstation 4 capable of running homebrew. +- Game assets from the Diablo game (diabdat.mpq), + or its [shareware][shareware] (spawn.mpq) + +## Installation +- Install the devilutionX PS4 pkg +- Copy the game assets (e.g., via ftp) to /user/data/diasurgical/devilution/ +- Launch the game + +## Known limitations + - No networking + +## 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 openorbis SDK][pacbrew-openorbis], then run the following + bash script. +```console +devilutionX$ ./Packaging/ps4/build.sh +``` + +[shareware]: http://ftp.blizzard.com/pub/demos/diablosw.exe +[pacbrew-openorbis]: https://github.com/PacBrew/pacbrew-packages diff --git a/Packaging/ps4/build.sh b/Packaging/ps4/build.sh new file mode 100755 index 000000000..663d45317 --- /dev/null +++ b/Packaging/ps4/build.sh @@ -0,0 +1,14 @@ +#!/usr/bin/env bash + +set -e +SCRIPTDIR="${BASH_SOURCE[0]}" +SCRIPTDIR="$(dirname "${SCRIPTDIR}")" + +cmake -S "${SCRIPTDIR}/../../" \ + -B build-ps4 \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_VERBOSE_MAKEFILE=ON \ + -DCMAKE_TOOLCHAIN_FILE="/opt/pacbrew/ps4/openorbis/cmake/ps4.cmake" + +cmake --build build-ps4 -j $(getconf _NPROCESSORS_ONLN) +mv build-ps4/IV0001-DVLX00001_00-*.pkg build-ps4/devilutionx.pkg diff --git a/Packaging/ps4/sce_sys/icon0.png b/Packaging/ps4/sce_sys/icon0.png new file mode 100644 index 0000000000000000000000000000000000000000..5a17714dbb5e31f333c653be45a36886af7f347e GIT binary patch literal 46821 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 literal 0 HcmV?d00001