9 changed files with 32 additions and 107 deletions
@ -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" |
|
||||||
@ -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 |
|
||||||
@ -1,8 +1,10 @@ |
|||||||
Copy diabdat.mpq from your CD (or GoG install folder) to: |
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: |
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: |
Controls: |
||||||
- D-pad: move hero |
- D-pad: move hero |
||||||
@ -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 |
||||||
Loading…
Reference in new issue