From ba6fa265ae09c3ad3e07eaf42b329b108cd324b0 Mon Sep 17 00:00:00 2001 From: d10sfan Date: Sun, 5 Nov 2023 14:31:37 -0600 Subject: [PATCH 01/10] Add Eternity Engine --- engines/eternity/LICENSE | 17 ++++++++ engines/eternity/assets/run-eternity.sh | 3 ++ engines/eternity/build.sh | 24 +++++++++++ engines/eternity/env.sh | 6 +++ metadata/packagessniper_v2.json | 56 ++++++++++++++++++++++++- 5 files changed, 105 insertions(+), 1 deletion(-) create mode 100644 engines/eternity/LICENSE create mode 100755 engines/eternity/assets/run-eternity.sh create mode 100755 engines/eternity/build.sh create mode 100755 engines/eternity/env.sh diff --git a/engines/eternity/LICENSE b/engines/eternity/LICENSE new file mode 100644 index 000000000..77167d906 --- /dev/null +++ b/engines/eternity/LICENSE @@ -0,0 +1,17 @@ +Copyright (c) 2019 Patryk Obara + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. diff --git a/engines/eternity/assets/run-eternity.sh b/engines/eternity/assets/run-eternity.sh new file mode 100755 index 000000000..a357ea536 --- /dev/null +++ b/engines/eternity/assets/run-eternity.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +LD_LIBRARY_PATH="lib:$LD_LIBRARY_PATH" ./eternity "$@" diff --git a/engines/eternity/build.sh b/engines/eternity/build.sh new file mode 100755 index 000000000..2ecf29e7e --- /dev/null +++ b/engines/eternity/build.sh @@ -0,0 +1,24 @@ +#!/bin/bash + +# From https://gitlab.com/luxtorpeda/packages/gzdoom - See LICENSE file for more information +# CLONE PHASE +git clone https://github.com/team-eternity/eternitygit source +pushd source +git checkout d699a7d +git submodule update --init +popd + +# BUILD PHASE +pushd "source" +mkdir -p build +cd build +cmake \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_PREFIX_PATH="$pfx" \ + .. +make -j "$(nproc)" +popd + +# COPY PHASE +cp -rfv "source/build"/* "$diststart/common/dist/" +cp -rfv assets/* "$diststart/common/dist/" diff --git a/engines/eternity/env.sh b/engines/eternity/env.sh new file mode 100755 index 000000000..3d35d2151 --- /dev/null +++ b/engines/eternity/env.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +export STEAM_APP_ID_LIST="2300" +export LICENSE_PATH="./source/COPYING" +export ADDITIONAL_LICENSES="./LICENSE" +export COMMON_PACKAGE="1" diff --git a/metadata/packagessniper_v2.json b/metadata/packagessniper_v2.json index 4fea87e28..e194185a1 100644 --- a/metadata/packagessniper_v2.json +++ b/metadata/packagessniper_v2.json @@ -1700,6 +1700,60 @@ } ] }, + { + "name": "Eternity Engine", + "commands": [ + { + "cmd": "./eternity/run-eternity.sh", + "args": [ + "-iwad", + "../base/DOOM2.WAD" + ], + "command_name": ".*rerelease" + }, + { + "cmd": "./eternity/run-eternity.sh", + "args": [ + "-iwad", + "../base/DOOM2.WAD" + ], + "command_name": ".*doom2" + }, + { + "cmd": "./eternity/run-eternity.sh", + "args": [ + "-iwad", + "../finaldoombase/TNT.WAD" + ], + "command_name": ".*tnt" + }, + { + "cmd": "./eternity/run-eternity.sh", + "args": [ + "-iwad", + "../finaldoombase/PLUTONIA.WAD" + ], + "command_name": ".*plutonia" + }, + { + "cmd": "./eternity/run-eternity.sh", + "args": [ + "-base", + "../masterbase/master" + ], + "command_name": ".*master" + } + ], + "download": [ + "eternity", + ], + "download_config": [ + { + "extract_location": "./eternity", + "download_name": "eternity" + } + ] + }, { "name": "Odamex", "commands": [ @@ -9791,4 +9845,4 @@ "value": "Supports steam achivements." } ] -} \ No newline at end of file +} From cf1328f8653c6e55ac8842d00ab863f2997cee4d Mon Sep 17 00:00:00 2001 From: d10sfan Date: Sun, 5 Nov 2023 14:37:33 -0600 Subject: [PATCH 02/10] ? --- engines/eternity/build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engines/eternity/build.sh b/engines/eternity/build.sh index 2ecf29e7e..1c3d40da7 100755 --- a/engines/eternity/build.sh +++ b/engines/eternity/build.sh @@ -2,7 +2,7 @@ # From https://gitlab.com/luxtorpeda/packages/gzdoom - See LICENSE file for more information # CLONE PHASE -git clone https://github.com/team-eternity/eternitygit source +git clone https://github.com/team-eternity/eternity.git source pushd source git checkout d699a7d git submodule update --init From d2f2ab295f56211a7a157ea519efc4ba6d84c9bc Mon Sep 17 00:00:00 2001 From: d10sfan Date: Sun, 5 Nov 2023 14:48:59 -0600 Subject: [PATCH 03/10] ? --- engines/eternity/build.sh | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/engines/eternity/build.sh b/engines/eternity/build.sh index 1c3d40da7..503bb6140 100755 --- a/engines/eternity/build.sh +++ b/engines/eternity/build.sh @@ -1,5 +1,8 @@ #!/bin/bash +export pfx="$PWD/local" +mkdir -p "$pfx" + # From https://gitlab.com/luxtorpeda/packages/gzdoom - See LICENSE file for more information # CLONE PHASE git clone https://github.com/team-eternity/eternity.git source @@ -17,8 +20,10 @@ cmake \ -DCMAKE_PREFIX_PATH="$pfx" \ .. make -j "$(nproc)" +make install DESTDIR="$pfx" popd # COPY PHASE -cp -rfv "source/build"/* "$diststart/common/dist/" +cp -rfv "$pfx/usr/local/bin"/* "$diststart/common/dist/" +cp -rfv "$pfx/usr/local/share/eternity/base" "$diststart/common/dist/" cp -rfv assets/* "$diststart/common/dist/" From b25b20129fb806e5ef1b0daa9f276e96d3c44fb8 Mon Sep 17 00:00:00 2001 From: d10sfan Date: Sun, 5 Nov 2023 20:32:18 -0600 Subject: [PATCH 04/10] Add doom --- engines/eternity/assets/run-eternity.sh | 6 +++++ engines/eternity/env.sh | 2 +- metadata/packagessniper_v2.json | 30 ++++++++++++++++++++++++- 3 files changed, 36 insertions(+), 2 deletions(-) diff --git a/engines/eternity/assets/run-eternity.sh b/engines/eternity/assets/run-eternity.sh index a357ea536..e72c7d319 100755 --- a/engines/eternity/assets/run-eternity.sh +++ b/engines/eternity/assets/run-eternity.sh @@ -1,3 +1,9 @@ #!/bin/bash +cd eternity + +# workaround for libopengl +mkdir lib +cp /overrides/lib/i386-linux-gnu/libXext.so.6 lib/libOpenGL.so.0 + LD_LIBRARY_PATH="lib:$LD_LIBRARY_PATH" ./eternity "$@" diff --git a/engines/eternity/env.sh b/engines/eternity/env.sh index 3d35d2151..9bdd78e1c 100755 --- a/engines/eternity/env.sh +++ b/engines/eternity/env.sh @@ -1,6 +1,6 @@ #!/bin/bash -export STEAM_APP_ID_LIST="2300" +export STEAM_APP_ID_LIST="2300 2280" export LICENSE_PATH="./source/COPYING" export ADDITIONAL_LICENSES="./LICENSE" export COMMON_PACKAGE="1" diff --git a/metadata/packagessniper_v2.json b/metadata/packagessniper_v2.json index e194185a1..8a4587ad2 100644 --- a/metadata/packagessniper_v2.json +++ b/metadata/packagessniper_v2.json @@ -563,6 +563,24 @@ "download_name": "fluid-soundfont" } ] + }, + { + "name": "Eternity Engine", + "engine_name": "Eternity Engine", + "command": "./eternity/run-eternity.sh", + "command_args": [ + "-iwad", + "../base/DOOM.WAD" + ], + "download": [ + "eternity" + ], + "download_config": [ + { + "extract_location": "./eternity", + "download_name": "eternity" + } + ] }, { "name": "Odamex", @@ -1745,7 +1763,7 @@ } ], "download": [ - "eternity", + "eternity" ], "download_config": [ { @@ -8150,6 +8168,16 @@ "controllerSupportedManualGame": true, "engine_name": "Chocolate Doom" }, + { + "engine_link": "https://github.com/team-eternity/eternity", + "version": "d699a7d", + "author": "d10sfan", + "author_link": "https://github.com/d10sfan", + "license": "GPLv3", + "license_link": "https://github.com/team-eternity/eternity/blob/master/COPYING", + "controllerSupportedManualGame": true, + "engine_name": "Eternity Engine" + }, { "engine_link": "https://github.com/fabiangreffrath/crispy-doom", "version": "6.0", From 0548f51b2e257cb93f5896ec653e7249a010fe04 Mon Sep 17 00:00:00 2001 From: d10sfan Date: Sun, 5 Nov 2023 20:33:56 -0600 Subject: [PATCH 05/10] ? --- engines/eternity/assets/run-eternity.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engines/eternity/assets/run-eternity.sh b/engines/eternity/assets/run-eternity.sh index e72c7d319..7082ce9f7 100755 --- a/engines/eternity/assets/run-eternity.sh +++ b/engines/eternity/assets/run-eternity.sh @@ -4,6 +4,6 @@ cd eternity # workaround for libopengl mkdir lib -cp /overrides/lib/i386-linux-gnu/libXext.so.6 lib/libOpenGL.so.0 +cp /overrides/lib/x86_64-linux-gnu/libXext.so.6 lib/libOpenGL.so.0 LD_LIBRARY_PATH="lib:$LD_LIBRARY_PATH" ./eternity "$@" From 20e58d0e1d08a6dc7f60f748b0c215344d9660e3 Mon Sep 17 00:00:00 2001 From: d10sfan Date: Sun, 5 Nov 2023 20:49:22 -0600 Subject: [PATCH 06/10] ? --- engines/eternity/assets/master.csc | 1 + engines/eternity/assets/run-eternity.sh | 6 ++++++ engines/eternity/vcpkg.json | 7 +++++++ metadata/packagessniper_v2.json | 21 +++++++++++++++++---- 4 files changed, 31 insertions(+), 4 deletions(-) create mode 100644 engines/eternity/assets/master.csc create mode 100644 engines/eternity/vcpkg.json diff --git a/engines/eternity/assets/master.csc b/engines/eternity/assets/master.csc new file mode 100644 index 000000000..68ceebd6d --- /dev/null +++ b/engines/eternity/assets/master.csc @@ -0,0 +1 @@ +master_levels_dir "../masterbase/master/wads/" diff --git a/engines/eternity/assets/run-eternity.sh b/engines/eternity/assets/run-eternity.sh index 7082ce9f7..89ca3e27a 100755 --- a/engines/eternity/assets/run-eternity.sh +++ b/engines/eternity/assets/run-eternity.sh @@ -1,5 +1,11 @@ #!/bin/bash +if [[ -z "${SDL_SOUNDFONTS}" ]]; then + echo "Setting default soundfont" + export SDL_SOUNDFONTS="fluid-soundfont-3.1/FluidR3_GM.sf2" +fi + + cd eternity # workaround for libopengl diff --git a/engines/eternity/vcpkg.json b/engines/eternity/vcpkg.json new file mode 100644 index 000000000..69f911d2d --- /dev/null +++ b/engines/eternity/vcpkg.json @@ -0,0 +1,7 @@ +{ + "$schema": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg.schema.json", + "dependencies": [ + { "name": "fluidsynth", "features": ["pulseaudio"] }, + { "name": "sdl2-mixer", "features": ["fluidsynth"] } + ] +} diff --git a/metadata/packagessniper_v2.json b/metadata/packagessniper_v2.json index 8a4587ad2..940b688c8 100644 --- a/metadata/packagessniper_v2.json +++ b/metadata/packagessniper_v2.json @@ -573,12 +573,17 @@ "../base/DOOM.WAD" ], "download": [ - "eternity" + "eternity", + "fluid-soundfont" ], "download_config": [ { "extract_location": "./eternity", "download_name": "eternity" + }, + { + "extract_location": "./eternity", + "download_name": "fluid-soundfont" } ] }, @@ -1756,19 +1761,27 @@ { "cmd": "./eternity/run-eternity.sh", "args": [ - "-base", - "../masterbase/master" + "-iwad", + "../masterbase/doom2/DOOM2.WAD", + "-vanilla", + "-exec", + "master.csc" ], "command_name": ".*master" } ], "download": [ - "eternity" + "eternity", + "fluid-soundfont" ], "download_config": [ { "extract_location": "./eternity", "download_name": "eternity" + }, + { + "extract_location": "./eternity", + "download_name": "fluid-soundfont" } ] }, From 91ea87bdced94883302fd8eae8b9eca57ab1ab92 Mon Sep 17 00:00:00 2001 From: d10sfan Date: Sun, 5 Nov 2023 20:58:58 -0600 Subject: [PATCH 07/10] ?? --- engines/eternity/vcpkg.json | 7 ------- 1 file changed, 7 deletions(-) delete mode 100644 engines/eternity/vcpkg.json diff --git a/engines/eternity/vcpkg.json b/engines/eternity/vcpkg.json deleted file mode 100644 index 69f911d2d..000000000 --- a/engines/eternity/vcpkg.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "$schema": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg.schema.json", - "dependencies": [ - { "name": "fluidsynth", "features": ["pulseaudio"] }, - { "name": "sdl2-mixer", "features": ["fluidsynth"] } - ] -} From a78913c9940c042d3c7bd81d200546390db71ff1 Mon Sep 17 00:00:00 2001 From: d10sfan Date: Sun, 5 Nov 2023 20:59:56 -0600 Subject: [PATCH 08/10] Revert "??" This reverts commit 91ea87bdced94883302fd8eae8b9eca57ab1ab92. --- engines/eternity/vcpkg.json | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 engines/eternity/vcpkg.json diff --git a/engines/eternity/vcpkg.json b/engines/eternity/vcpkg.json new file mode 100644 index 000000000..69f911d2d --- /dev/null +++ b/engines/eternity/vcpkg.json @@ -0,0 +1,7 @@ +{ + "$schema": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg.schema.json", + "dependencies": [ + { "name": "fluidsynth", "features": ["pulseaudio"] }, + { "name": "sdl2-mixer", "features": ["fluidsynth"] } + ] +} From e358ef138f0232f26b73ccb4680a775be3ad9096 Mon Sep 17 00:00:00 2001 From: d10sfan Date: Sun, 5 Nov 2023 21:02:25 -0600 Subject: [PATCH 09/10] ?? --- engines/eternity/build.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/engines/eternity/build.sh b/engines/eternity/build.sh index 503bb6140..cca7a48e3 100755 --- a/engines/eternity/build.sh +++ b/engines/eternity/build.sh @@ -3,6 +3,9 @@ export pfx="$PWD/local" mkdir -p "$pfx" +export LDFLAGS=-L"$VCPKG_INSTALLED_PATH/lib" +export LIBRARY_PATH="$VCPKG_INSTALLED_PATH/lib;$pfx/lib" + # From https://gitlab.com/luxtorpeda/packages/gzdoom - See LICENSE file for more information # CLONE PHASE git clone https://github.com/team-eternity/eternity.git source @@ -18,6 +21,7 @@ cd build cmake \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_PREFIX_PATH="$pfx" \ + -DCMAKE_PREFIX_PATH="$VCPKG_INSTALLED_PATH" \ .. make -j "$(nproc)" make install DESTDIR="$pfx" From a20cb58c302aea474c450a5d0173b46b1038b3d1 Mon Sep 17 00:00:00 2001 From: d10sfan Date: Sun, 5 Nov 2023 21:03:19 -0600 Subject: [PATCH 10/10] ?? --- engines/eternity/build.sh | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/engines/eternity/build.sh b/engines/eternity/build.sh index cca7a48e3..b7dc614c9 100755 --- a/engines/eternity/build.sh +++ b/engines/eternity/build.sh @@ -20,8 +20,7 @@ mkdir -p build cd build cmake \ -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_PREFIX_PATH="$pfx" \ - -DCMAKE_PREFIX_PATH="$VCPKG_INSTALLED_PATH" \ + -DCMAKE_PREFIX_PATH="$pfx;$VCPKG_INSTALLED_PATH" \ .. make -j "$(nproc)" make install DESTDIR="$pfx"