appimage assets

This commit is contained in:
qurious-pixel 2022-06-12 22:20:01 -07:00 committed by Kenix3
parent 8f8b8c01fc
commit 1989398229
3 changed files with 81 additions and 0 deletions

40
appimage/appimage.sh Normal file
View File

@ -0,0 +1,40 @@
#!/bin/bash
curl -sSfLO "https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage"
chmod a+x linuxdeploy*.AppImage
curl -sSfLO "https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage"
chmod a+x appimagetool*.AppImage
mkdir -p AppDir/usr/bin
cp appimage/{soh.desktop,soh.png,soh.sh} AppDir/
curl -sSfL https://raw.githubusercontent.com/gabomdq/SDL_GameControllerDB/master/gamecontrollerdb.txt -o AppDir/usr/bin/gamecontrollerdb.txt
mkdir -p AppDir/usr/share/applications
mkdir -p AppDir/usr/share/icons/hicolor/scalable/apps
mkdir -p AppDir/usr/lib
mv AppDir/soh.sh AppDir/usr/bin
cp -r Release/* AppDir/usr/bin
chmod +x AppDir/usr/bin/{soh.elf,OTRGui,soh.sh}
cd AppDir && ln -s ./usr/bin/soh.sh ./AppRun && cd ..
export UPD_INFO="gh-releases-zsync|HarbourMasters|Shipwright-linux|zelda64|SOH-Linux.AppImage.zsync"
./linuxdeploy-x86_64.AppImage \
--appdir="$GITHUB_WORKSPACE"/AppDir/ \
-d "$GITHUB_WORKSPACE"/AppDir/soh.desktop \
-i "$GITHUB_WORKSPACE"/AppDir/soh.png \
-e "$GITHUB_WORKSPACE"/AppDir/usr/bin/soh.elf \
-e "$GITHUB_WORKSPACE"/AppDir/usr/bin/assets/extractor/ZAPD.out
mv "$GITHUB_WORKSPACE"/AppDir/usr/bin/ZAPD.out "$GITHUB_WORKSPACE"/AppDir/usr/bin/assets/extractor/ZAPD.out
cd "$GITHUB_WORKSPACE"/AppDir/usr/bin/assets/extractor/
patchelf --set-rpath "\$ORIGIN/../../../lib" ZAPD.out
cd "$GITHUB_WORKSPACE"
./appimagetool-x86_64.AppImage "$GITHUB_WORKSPACE"/AppDir "SOH-Linux.AppImage" -u "gh-releases-zsync|HarbourMasters|Shipwright-linux|zelda64|SOH-Linux.AppImage.zsync"
mkdir -p "$GITHUB_WORKSPACE"/artifacts/
mv SOH-Linux.AppImage* "$GITHUB_WORKSPACE"/artifacts/
ls -al artifacts

BIN
appimage/soh.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 430 KiB

41
appimage/soh.sh Normal file
View File

@ -0,0 +1,41 @@
#!/bin/bash
HERE="$(dirname "$(readlink -f "${0}")")"/../..
export PATH=$HERE/bin:$HERE/usr/bin:$PATH
while [[ ! -e $PWD/oot.otr ]]; do
export ASSETDIR=$(mktemp -d /tmp/assets-XXXXX)
ln -s $HERE/usr/bin/{assets,soh.elf,OTRGui} $ASSETDIR
export OLDPWD=$PWD
mkdir -p $ASSETDIR/tmp
mkdir -p $ASSETDIR/Extract/assets
if [ -e $PWD/*.*64 ]; then
ln -s $OLDPWD/*.*64 $ASSETDIR/tmp/rom.z64
cp -r $ASSETDIR/assets/game/ship_of_harkinian $ASSETDIR/Extract/assets/
cd $ASSETDIR
case $(sha1sum -b $ASSETDIR/tmp/rom.z64 | awk '{ print $1 }') in
cee6bc3c2a634b41728f2af8da54d9bf8cc14099)
ROM=GC_NMQ_D;;
0227d7c0074f2d0ac935631990da8ec5914597b4)
ROM=GC_NMQ_PAL_F;;
*)
echo -e "\nrom hash does not match\n"
exit;;
esac
echo "Processing..."
assets/extractor/ZAPD.out ed -eh -i assets/extractor/xmls/${ROM} -b tmp/rom.z64 -fl assets/extractor/filelists -o placeholder -osf placeholder -gsf 1 -rconf assets/extractor/Config_${ROM}.xml -se OTR > /dev/null 2>&1
cp "$ASSETDIR"/oot.otr $OLDPWD
echo "Restart $APPIMAGE to play!"
sleep 3
rm -r "$ASSETDIR"
break
else
echo -e "\nPlace ROM in this folder\n"
exit
fi
done
cd $OWD
ln -s "$HERE/usr/bin/gamecontrollerdb.txt" $PWD
"$HERE/usr/bin/soh.elf"
unlink $PWD/gamecontrollerdb.txt
exit