Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Eternity Engine #1012

Merged
merged 10 commits into from
Nov 6, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions engines/eternity/LICENSE
Original file line number Diff line number Diff line change
@@ -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.
1 change: 1 addition & 0 deletions engines/eternity/assets/master.csc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
master_levels_dir "../masterbase/master/wads/"
15 changes: 15 additions & 0 deletions engines/eternity/assets/run-eternity.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
#!/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
mkdir lib
cp /overrides/lib/x86_64-linux-gnu/libXext.so.6 lib/libOpenGL.so.0

LD_LIBRARY_PATH="lib:$LD_LIBRARY_PATH" ./eternity "$@"
32 changes: 32 additions & 0 deletions engines/eternity/build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
#!/bin/bash

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
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;$VCPKG_INSTALLED_PATH" \
..
make -j "$(nproc)"
make install DESTDIR="$pfx"
popd

# COPY PHASE
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/"
6 changes: 6 additions & 0 deletions engines/eternity/env.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#!/bin/bash

export STEAM_APP_ID_LIST="2300 2280"
export LICENSE_PATH="./source/COPYING"
export ADDITIONAL_LICENSES="./LICENSE"
export COMMON_PACKAGE="1"
7 changes: 7 additions & 0 deletions engines/eternity/vcpkg.json
Original file line number Diff line number Diff line change
@@ -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"] }
]
}
97 changes: 96 additions & 1 deletion metadata/packagessniper_v2.json
Original file line number Diff line number Diff line change
Expand Up @@ -563,6 +563,29 @@
"download_name": "fluid-soundfont"
}
]
},
{
"name": "Eternity Engine",
"engine_name": "Eternity Engine",
"command": "./eternity/run-eternity.sh",
"command_args": [
"-iwad",
"../base/DOOM.WAD"
],
"download": [
"eternity",
"fluid-soundfont"
],
"download_config": [
{
"extract_location": "./eternity",
"download_name": "eternity"
},
{
"extract_location": "./eternity",
"download_name": "fluid-soundfont"
}
]
},
{
"name": "Odamex",
Expand Down Expand Up @@ -1700,6 +1723,68 @@
}
]
},
{
"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": [
"-iwad",
"../masterbase/doom2/DOOM2.WAD",
"-vanilla",
"-exec",
"master.csc"
],
"command_name": ".*master"
}
],
"download": [
"eternity",
"fluid-soundfont"
],
"download_config": [
{
"extract_location": "./eternity",
"download_name": "eternity"
},
{
"extract_location": "./eternity",
"download_name": "fluid-soundfont"
}
]
},
{
"name": "Odamex",
"commands": [
Expand Down Expand Up @@ -8096,6 +8181,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",
Expand Down Expand Up @@ -9791,4 +9886,4 @@
"value": "Supports steam achivements."
}
]
}
}