diff --git a/Packaging/OpenDingux/build.sh b/Packaging/OpenDingux/build.sh index c32ebfd13..9d4aa9560 100755 --- a/Packaging/OpenDingux/build.sh +++ b/Packaging/OpenDingux/build.sh @@ -4,7 +4,7 @@ set -euo pipefail usage() { echo "Usage: build.sh [target]" - echo " target: target architecture: rg350, gkd350h, or retrofw" + echo " target: target platform: rg350, gkd350h, or retrofw" } if [[ $# -ne 1 ]]; then @@ -80,13 +80,20 @@ build() { } package() { - if [[ "$TARGET" == "retrofw" ]]; then - Packaging/OpenDingux/package-ipk.sh "${PWD}/${BUILD_DIR}/devilutionx-${TARGET}.ipk" - else - Packaging/OpenDingux/package-opk.sh "${PWD}/${BUILD_DIR}/devilutionx-${TARGET}.opk" \ - "${PWD}/Packaging/OpenDingux/${TARGET}.desktop" \ - "${PWD}/Packaging/OpenDingux/manual-${TARGET}.txt" + local ext=gcw0 + if [[ $TARGET == retrofw ]]; then + ext=retrofw fi + local -r tmp="${BUILD_DIR}/opk" + rm -rf "$tmp" + mkdir -p "$tmp" + cp "Packaging/OpenDingux/${TARGET}.desktop" "${tmp}/default.${ext}.desktop" + cp "Packaging/OpenDingux/${TARGET}-manual.txt" "${tmp}/readme.${ext}.txt" + mksquashfs "${BUILD_DIR}/devilutionx" \ + "${tmp}/default.${ext}.desktop" "${tmp}/readme.${ext}.txt" \ + Packaging/resources/Diablo_32.png Packaging/resources/CharisSILB.ttf \ + "${BUILD_DIR}/devilutionx-${TARGET}.opk" \ + -all-root -no-xattrs -noappend -no-exports } main diff --git a/Packaging/OpenDingux/manual-gkd350h.txt b/Packaging/OpenDingux/gkd350h-manual.txt similarity index 100% rename from Packaging/OpenDingux/manual-gkd350h.txt rename to Packaging/OpenDingux/gkd350h-manual.txt diff --git a/Packaging/OpenDingux/gkd350h.desktop b/Packaging/OpenDingux/gkd350h.desktop index 1fa04dff6..0e5c8c0be 100644 --- a/Packaging/OpenDingux/gkd350h.desktop +++ b/Packaging/OpenDingux/gkd350h.desktop @@ -1,6 +1,6 @@ [Desktop Entry] Name=DevilutionX -Comment=A port of DevilutionX for GKD350h. +Comment=Diablo 1 for GKD350h Exec=devilutionx Terminal=false Type=Application diff --git a/Packaging/OpenDingux/package-ipk.sh b/Packaging/OpenDingux/package-ipk.sh deleted file mode 100755 index 66a79fff4..000000000 --- a/Packaging/OpenDingux/package-ipk.sh +++ /dev/null @@ -1,61 +0,0 @@ -#!/usr/bin/env bash - -set -euo pipefail - -cd "$(dirname "${BASH_SOURCE[0]}")" - -if [[ -z "$1" ]]; then - echo "Error: output path is required" - exit 1 -fi - -readonly OUT="$1" -readonly IN="${2:-$(dirname "$OUT")/devilutionx}" - -readonly PKG_TARGET=devilutionx -readonly TMP="tmp/${PKG_TARGET}" - -pkg_control_get() { - sed -n control -e 's/^.*'"$1"': //p' -} - -readonly PKG_SECTION="$(pkg_control_get Section)" -readonly PKG_INSTALL_DIR="home/retrofw/${PKG_SECTION}/${PKG_TARGET}" -readonly PKG_LOCAL_DIR="home/retrofw/.local/share/diasurgical/devilution" -readonly PKG_MENU_LNK_OUT="home/retrofw/apps/gmenu2x/sections/${PKG_SECTION}/${PKG_TARGET}.lnk" - -echo 1>&2 Packaging ${OUT} from ${TMP}... - -set -x -rm -rf "${TMP}" -mkdir -p "${TMP}" - -# data.tar.gz -mkdir -p "${TMP}/root/${PKG_INSTALL_DIR}" "${TMP}/root/${PKG_LOCAL_DIR}" -cp "$IN" "${TMP}/root/${PKG_INSTALL_DIR}/${PKG_TARGET}" -cp ../resources/Diablo_32.png "${TMP}/root/${PKG_INSTALL_DIR}/devilutionx.png" -cp ../resources/CharisSILB.ttf ../resources/LICENSE.CharisSILB.txt "${TMP}/root/${PKG_INSTALL_DIR}" -cp devilutionx-retrofw.man.txt "${TMP}/root/${PKG_INSTALL_DIR}/devilutionx.man.txt" -cp diablo.ini "${TMP}/root/${PKG_LOCAL_DIR}/diablo.ini" -mkdir -p "${TMP}/root/$(dirname "$PKG_MENU_LNK_OUT")" -printf "%s\n" \ - "title=DevilutionX" \ - "description=$(pkg_control_get Description)" \ - "exec=/${PKG_INSTALL_DIR}/${PKG_TARGET}" \ - > "${TMP}/root/${PKG_MENU_LNK_OUT}" -tar --owner=0 --group=0 -czvf "${TMP}/data.tar.gz" -C "${TMP}/root/" . - -# control.tar.gz -sed -e "s/^Version:.*/Version: $(date +%Y%m%d)/" control > "${TMP}/control" -printf "%s\n" \ - "/$PKG_MENU_LNK_OUT" \ - "/${PKG_LOCAL_DIR}/diablo.ini" \ - >> ${TMP}/conffiles -tar --owner=0 --group=0 -czvf "${TMP}/control.tar.gz" -C "${TMP}/" control conffiles - -printf '2.0\n' > "${TMP}/debian-binary" -rm -f "$OUT" -ar r "$OUT" \ - "${TMP}/control.tar.gz" \ - "${TMP}/data.tar.gz" \ - "${TMP}/debian-binary" diff --git a/Packaging/OpenDingux/package-opk.sh b/Packaging/OpenDingux/package-opk.sh deleted file mode 100755 index eef6bac68..000000000 --- a/Packaging/OpenDingux/package-opk.sh +++ /dev/null @@ -1,35 +0,0 @@ -#!/usr/bin/env bash - -cd "$(dirname "${BASH_SOURCE[0]}")" - -if [[ -z "$1" ]]; then - echo "Error: output path is required" - exit 1 -fi - -readonly OUT="$1" -readonly DESKTOP_FILE="$2" -readonly README_FILE="$2" - -readonly IN="$(dirname "$OUT")/devilutionx" - -readonly TMP="tmp/opk" - -echo 1>&2 Packaging ${OUT}... - -# To run with SDL2 controller mappings for RG350: -# Exec=env SDL_GAMECONTROLLERCONFIG=190000006c696e6b6465762064657600,RG350,platform:Linux,x:b3,a:b0,b:b1,y:b2,back:b8,start:b9,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a2,righty:a3, ./devilutionx -# -# We use SDL1 instead as it's ~3x faster, likely because with SDL1 scaling is done in hardware. - -set -x -rm -rf "${TMP}" -mkdir -p "${TMP}" -cp "$DESKTOP_FILE" "${TMP}/default.gcw0.desktop" -cp "$README_FILE" "${TMP}/readme.gcw0.txt" - -mksquashfs \ - "${TMP}/default.gcw0.desktop" "${TMP}/readme.gcw0.txt" "$IN" \ - ../resources/Diablo_32.png ../resources/CharisSILB.ttf \ - "$OUT" \ - -all-root -no-xattrs -noappend -no-exports diff --git a/Packaging/OpenDingux/devilutionx-retrofw.man.txt b/Packaging/OpenDingux/retrofw-manual.txt similarity index 86% rename from Packaging/OpenDingux/devilutionx-retrofw.man.txt rename to Packaging/OpenDingux/retrofw-manual.txt index 875049208..4419cd0ac 100644 --- a/Packaging/OpenDingux/devilutionx-retrofw.man.txt +++ b/Packaging/OpenDingux/retrofw-manual.txt @@ -1,8 +1,10 @@ Copy diabdat.mpq from your CD (or GoG install folder) to: -/home/retrofw/.local/share/diasurgical/diabdat.mpq +~/.local/share/diasurgical/diabdat.mpq Game saves and diablo.ini are located at: -/home/retrofw/.local/share/diasurgical/devilution +~/.local/share/diasurgical/devilution + +~ is your home directory, /home/retrofw by default. Controls: - D-pad: move hero diff --git a/Packaging/OpenDingux/retrofw.desktop b/Packaging/OpenDingux/retrofw.desktop new file mode 100644 index 000000000..0bc6e5533 --- /dev/null +++ b/Packaging/OpenDingux/retrofw.desktop @@ -0,0 +1,12 @@ +[Desktop Entry] +Name=DevilutionX +Comment=Diablo 1 for RetroFW +Exec=devilutionx +Terminal=false +Type=Application +StartupNotify=true +Icon=Diablo_32 +Categories=games; +X-OD-Manual=readme.retrofw.txt +X-OD-NeedsDownscaling=true +X-OD-NeedsJoystick=true diff --git a/Packaging/OpenDingux/manual-rg350.txt b/Packaging/OpenDingux/rg350-manual.txt similarity index 100% rename from Packaging/OpenDingux/manual-rg350.txt rename to Packaging/OpenDingux/rg350-manual.txt diff --git a/Packaging/OpenDingux/rg350.desktop b/Packaging/OpenDingux/rg350.desktop index a732dbdbe..792efd233 100644 --- a/Packaging/OpenDingux/rg350.desktop +++ b/Packaging/OpenDingux/rg350.desktop @@ -1,6 +1,6 @@ [Desktop Entry] Name=DevilutionX -Comment=A port of DevilutionX for RG350. +Comment=Diablo 1 for RG350 Exec=devilutionx Terminal=false Type=Application