From 2109d49aa35eddd59cd9b2b924e2d170f5cf15d0 Mon Sep 17 00:00:00 2001 From: Alibek Omarov Date: Sun, 5 Feb 2023 00:06:14 +0300 Subject: [PATCH 1/9] ci: disable xash-extras fetching, it's a submodule now --- .github/workflows/c-cpp.yml | 8 -------- 1 file changed, 8 deletions(-) diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml index 31384ebd..e86788ac 100644 --- a/.github/workflows/c-cpp.yml +++ b/.github/workflows/c-cpp.yml @@ -51,18 +51,10 @@ jobs: uses: actions/checkout@v3 with: submodules: recursive - - name: Checkout xash-extras - uses: actions/checkout@v3 - with: - repository: FWGS/xash-extras - path: xash-extras - - name: Install dependencies run: bash scripts/gha/deps_${{ matrix.targetos }}.sh - - name: Build engine run: bash scripts/gha/build_${{ matrix.targetos }}.sh - - name: Upload engine (prereleases) run: bash scripts/continious_upload.sh artifacts/* - name: Upload engine (artifacts) From 0ffd1b9ff101697bf2132a22e080cd2b5ed66e24 Mon Sep 17 00:00:00 2001 From: Alibek Omarov Date: Sun, 5 Feb 2023 00:06:37 +0300 Subject: [PATCH 2/9] github: try to enable building flatpak bundle --- .github/workflows/c-cpp.yml | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml index e86788ac..3b30e109 100644 --- a/.github/workflows/c-cpp.yml +++ b/.github/workflows/c-cpp.yml @@ -62,3 +62,28 @@ jobs: with: name: artifact-${{ matrix.targetos }}-${{ matrix.targetarch }} path: artifacts/* + flatpak: + name: "Flatpak" + runs-on: ubuntu-latest + strategy: + matrix: + include: + - app: su.xash.Engine.Compat.i386 + container: + image: bilelmoussaoui/flatpak-github-actions:freedesktop-22.08 + options: --privileged + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + UPLOADTOOL_ISPRERELEASE: true + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + submodules: recursive + - name: Build flatpak (Compat.i386) + uses: FWGS/flatpak-github-actions/flatpak-builder@v5 + with: + bundle: ${{ matrix.app }}.flatpak + manifest-path: scripts/flatpak/${{ matrix.app }}.yml + - name: Upload engine (prereleases) + run: bash scripts/continious_upload.sh ${{ matrix.app }}.flatpak From 00ddd95c27c5789587957db700f15f08e2e22c63 Mon Sep 17 00:00:00 2001 From: Alibek Omarov Date: Sun, 5 Feb 2023 02:25:21 +0300 Subject: [PATCH 3/9] scripts: flatpak: try to add ourselves to desktop menu entries --- scripts/flatpak/su.xash.Engine.Compat.i386.desktop | 10 ++++++++++ scripts/flatpak/su.xash.Engine.Compat.i386.yml | 4 ++++ 2 files changed, 14 insertions(+) create mode 100644 scripts/flatpak/su.xash.Engine.Compat.i386.desktop diff --git a/scripts/flatpak/su.xash.Engine.Compat.i386.desktop b/scripts/flatpak/su.xash.Engine.Compat.i386.desktop new file mode 100644 index 00000000..cec00eca --- /dev/null +++ b/scripts/flatpak/su.xash.Engine.Compat.i386.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Categories=Game;Shooter; +Comment=Half-Life compatible game engine +Exec= +Icon=su.xash.Engine.Compat.i386 +Keywords=first;person;shooter;multiplayer;half-life;halflife;singleplayer; +Name=Xash3D FWGS +PrefersNonDefaultGPU=true +Terminal=false +Type=Application diff --git a/scripts/flatpak/su.xash.Engine.Compat.i386.yml b/scripts/flatpak/su.xash.Engine.Compat.i386.yml index a2ac1c75..06b3a205 100644 --- a/scripts/flatpak/su.xash.Engine.Compat.i386.yml +++ b/scripts/flatpak/su.xash.Engine.Compat.i386.yml @@ -76,7 +76,11 @@ modules: python waf build python waf install --destdir=/ mkdir -p /app/bin + mkdir -p /app/share/icons/hicolor/256x256/apps/ + mkdir -p /app/share/applications install -m 0755 scripts/flatpak/run.sh /app/bin/run.sh + install -m 0644 game_launch/icon-xash-material.png /app/share/icons/hicolor/256x256/apps/su.xash.Engine.Compat.i386.png + install -m 0644 scripts/flatpak/su.xash.Engine.Compat.i386.desktop /app/share/applications/su.xash.Engine.Compat.i386.desktop sources: - type: dir path: ../../ From 9cb867a7d4a07dcbb4aeb2a40709154041a2be15 Mon Sep 17 00:00:00 2001 From: Alibek Omarov Date: Sun, 5 Feb 2023 02:42:35 +0300 Subject: [PATCH 4/9] filesystem: wad: print errno if wad can't be opened --- filesystem/wad.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/filesystem/wad.c b/filesystem/wad.c index adff3ad1..16153429 100644 --- a/filesystem/wad.c +++ b/filesystem/wad.c @@ -301,7 +301,7 @@ static wfile_t *W_Open( const char *filename, int *error ) if( wad->handle == NULL ) { - Con_Reportf( S_ERROR "W_Open: couldn't open %s\n", filename ); + Con_Reportf( S_ERROR "W_Open: couldn't open %s: %s\n", filename, strerror( errno )); if( error ) *error = WAD_LOAD_COULDNT_OPEN; FS_CloseWAD( wad ); return NULL; From f63f1a0dc6b8f274b8e1b9acc6a924a5d061cb5c Mon Sep 17 00:00:00 2001 From: Alibek Omarov Date: Sun, 5 Feb 2023 02:43:36 +0300 Subject: [PATCH 5/9] scripts: flatpak: add another default Steam library path --- scripts/flatpak/su.xash.Engine.Compat.i386.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/flatpak/su.xash.Engine.Compat.i386.yml b/scripts/flatpak/su.xash.Engine.Compat.i386.yml index 06b3a205..7b495f9b 100644 --- a/scripts/flatpak/su.xash.Engine.Compat.i386.yml +++ b/scripts/flatpak/su.xash.Engine.Compat.i386.yml @@ -17,6 +17,7 @@ finish-args: - --socket=pulseaudio - --share=network - --filesystem=~/.steam:ro + - --filesystem=~/.local/share/Steam:ro - --filesystem=~/.xash:rw - --filesystem=xdg-run/app/com.discordapp.Discord:create - --device=all From 30b698067a00c57d3c50d6fd39e967c82e853d3d Mon Sep 17 00:00:00 2001 From: Alibek Omarov Date: Sun, 5 Feb 2023 03:25:07 +0300 Subject: [PATCH 6/9] scripts: flatpak: allow easy debugger attach --- scripts/flatpak/run.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/flatpak/run.sh b/scripts/flatpak/run.sh index 725161c5..60127680 100644 --- a/scripts/flatpak/run.sh +++ b/scripts/flatpak/run.sh @@ -17,4 +17,4 @@ export XASH3D_BASEDIR="$XASHDATADIR" echo "Base directory is $XASH3D_BASEDIR" export XASH3D_EXTRAS_PAK1=/app/share/xash3d/valve/extras.pk3 -exec /app/lib32/xash3d/xash3d "$@" +exec $DEBUGGER /app/lib32/xash3d/xash3d "$@" From a610b1545b7dae91be5feada42953f4a42a03e6b Mon Sep 17 00:00:00 2001 From: Alibek Omarov Date: Sun, 5 Feb 2023 03:41:58 +0300 Subject: [PATCH 7/9] scripts: flatpak: check .local directory for steam library --- scripts/flatpak/run.sh | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) mode change 100644 => 100755 scripts/flatpak/run.sh diff --git a/scripts/flatpak/run.sh b/scripts/flatpak/run.sh old mode 100644 new mode 100755 index 60127680..e347669e --- a/scripts/flatpak/run.sh +++ b/scripts/flatpak/run.sh @@ -3,12 +3,16 @@ echo "Xash3D FWGS installed as Flatpak." # TODO: detect by libraryfolders.vdf and installed apps -HALFLIFESTEAMDIR="$HOME/.steam/steam/steamapps/common/Half-Life" +HALFLIFESTEAMDIRS="$HOME/.local/share/Steam/steamapps/common/Half-Life $HOME/.steam/steam/steamapps/common/Half-Life" -if [ -d "$HALFLIFESTEAMDIR" ]; then - echo "Detected Half-Life installation in $HALFLIFESTEAMDIR, using as RoDir" - export XASH3D_RODIR=$HALFLIFESTEAMDIR -fi +for i in $HALFLIFESTEAMDIRS; do +# echo $i + if [ -d "$i" ]; then + echo "Detected Half-Life installation in $i, using as RoDir" + export XASH3D_RODIR=$i + break + fi +done XASHDATADIR="$HOME/.xash/" From 34b0cdc125552209dc8237f9358d133992ee42f5 Mon Sep 17 00:00:00 2001 From: Alibek Omarov Date: Sun, 5 Feb 2023 04:13:45 +0300 Subject: [PATCH 8/9] scripts: flatpak: use relative paths as RoDir doesn't allow absolute paths for now --- scripts/flatpak/run.sh | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/scripts/flatpak/run.sh b/scripts/flatpak/run.sh index e347669e..7183cf94 100755 --- a/scripts/flatpak/run.sh +++ b/scripts/flatpak/run.sh @@ -2,8 +2,13 @@ echo "Xash3D FWGS installed as Flatpak." +export XASH3D_BASEDIR="$HOME/.xash/" +mkdir -p $XASH3D_BASEDIR +cd $XASH3D_BASEDIR +echo "Base directory is $XASH3D_BASEDIR" + # TODO: detect by libraryfolders.vdf and installed apps -HALFLIFESTEAMDIRS="$HOME/.local/share/Steam/steamapps/common/Half-Life $HOME/.steam/steam/steamapps/common/Half-Life" +HALFLIFESTEAMDIRS="../.local/share/Steam/steamapps/common/Half-Life ../.steam/steam/steamapps/common/Half-Life" for i in $HALFLIFESTEAMDIRS; do # echo $i @@ -14,11 +19,6 @@ for i in $HALFLIFESTEAMDIRS; do fi done -XASHDATADIR="$HOME/.xash/" - -mkdir -p $XASHDATADIR -export XASH3D_BASEDIR="$XASHDATADIR" -echo "Base directory is $XASH3D_BASEDIR" export XASH3D_EXTRAS_PAK1=/app/share/xash3d/valve/extras.pk3 exec $DEBUGGER /app/lib32/xash3d/xash3d "$@" From 87c307f47e71ed9fbfdb475941ecb37d97c79bf9 Mon Sep 17 00:00:00 2001 From: Alibek Omarov Date: Sun, 5 Feb 2023 04:27:58 +0300 Subject: [PATCH 9/9] scripts: flatpak: install vgui --- scripts/flatpak/su.xash.Engine.Compat.i386.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/flatpak/su.xash.Engine.Compat.i386.yml b/scripts/flatpak/su.xash.Engine.Compat.i386.yml index 7b495f9b..02a02ad7 100644 --- a/scripts/flatpak/su.xash.Engine.Compat.i386.yml +++ b/scripts/flatpak/su.xash.Engine.Compat.i386.yml @@ -79,6 +79,7 @@ modules: mkdir -p /app/bin mkdir -p /app/share/icons/hicolor/256x256/apps/ mkdir -p /app/share/applications + install -m 0755 3rdparty/vgui_support/vgui-dev/lib/vgui.so /app/lib32/xash3d/vgui.so install -m 0755 scripts/flatpak/run.sh /app/bin/run.sh install -m 0644 game_launch/icon-xash-material.png /app/share/icons/hicolor/256x256/apps/su.xash.Engine.Compat.i386.png install -m 0644 scripts/flatpak/su.xash.Engine.Compat.i386.desktop /app/share/applications/su.xash.Engine.Compat.i386.desktop