7 changed files with 128 additions and 0 deletions
@ -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 <endian.h>" | 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 |
||||
|
||||
@ -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) |
||||
|
||||
|
||||
@ -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 |
||||
@ -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 |
||||
|
After Width: | Height: | Size: 46 KiB |
Loading…
Reference in new issue