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 support for Russian Doom #1025

Merged
merged 4 commits into from
Nov 16, 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
6 changes: 6 additions & 0 deletions engines/russian-doom/assets/run-russian-doom.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#!/bin/bash

DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"

export LD_LIBRARY_PATH="$DIR/lib:$LD_LIBRARY_PATH"
"$DIR/russian-doom" -config "$DIR/russian-doom.ini" "$@"
6 changes: 6 additions & 0 deletions engines/russian-doom/assets/run-russian-heretic.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#!/bin/bash

DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"

export LD_LIBRARY_PATH="$DIR/lib:$LD_LIBRARY_PATH"
"$DIR/russian-heretic" -config "$DIR/russian-heretic.ini" "$@"
6 changes: 6 additions & 0 deletions engines/russian-doom/assets/run-russian-hexen.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#!/bin/bash

DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"

export LD_LIBRARY_PATH="$DIR/lib:$LD_LIBRARY_PATH"
"$DIR/russian-hexen" -config "$DIR/russian-hexen.ini" "$@"
29 changes: 29 additions & 0 deletions engines/russian-doom/build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
#!/bin/bash

mkdir local
export pfx="$PWD/local"

# CLONE PHASE
git clone https://github.com/Russian-Doom/russian-doom.git source
pushd source
git checkout e97fdcb
popd

# BUILD PHASE
pushd "source"
mkdir build
cd build
cmake \
-DCMAKE_INSTALL_PREFIX="$pfx" \
-DCMAKE_PREFIX_PATH="$pfx" \
-DBUILD_PORTABLE=ON \
..
make -j "$(nproc)"
make install
popd

# COPY PHASE
mkdir -p "$diststart/common/dist/base"
cp -rfv source/build/src/russian-* "$diststart/common/dist/"
cp -rfv "$pfx/share/russian-doom/"* "$diststart/common/dist/base/"
cp -rfv assets/* "$diststart/common/dist/"
5 changes: 5 additions & 0 deletions engines/russian-doom/env.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#!/bin/bash

export STEAM_APP_ID_LIST="2390 2360 2370 2300 2280 2290"
export LICENSE_PATH="./source/LICENSE.txt"
export COMMON_PACKAGE="1"
7 changes: 7 additions & 0 deletions engines/russian-doom/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"] }
]
}
163 changes: 129 additions & 34 deletions metadata/packagessniper_v2.json
Original file line number Diff line number Diff line change
Expand Up @@ -623,6 +623,24 @@
}
]
},
{
"name": "Russian Doom",
"engine_name": "Russian Doom",
"command": "./russian-doom/run-russian-doom.sh",
"command_args": [
"-iwad",
"base/DOOM.WAD"
],
"download": [
"russian-doom"
],
"download_config": [
{
"extract_location": "./russian-doom",
"download_name": "russian-doom"
}
]
},
{
"name": "Doom Runner",
"engine_name": "Doom Runner",
Expand Down Expand Up @@ -1071,6 +1089,37 @@
}
]
},
{
"name": "Russian Doom",
"engine_name": "Russian Doom",
"commands": [
{
"cmd": "./russian-doom/run-russian-doom.sh",
"args": [
"-iwad",
"base/PLUTONIA.WAD"
],
"command_name": ".*plutoniam?.conf"
},
{
"cmd": "./russian-doom/run-russian-doom.sh",
"args": [
"-iwad",
"base/TNT.WAD"
],
"command_name": ".*tntm?.conf"
}
],
"download": [
"russian-doom"
],
"download_config": [
{
"extract_location": "./russian-doom",
"download_name": "russian-doom"
}
]
},
{
"name": "Doom Runner",
"engine_name": "Doom Runner",
Expand Down Expand Up @@ -1885,6 +1934,60 @@
}
]
},
{
"name": "Russian Doom",
"commands": [
{
"cmd": "./russian-doom/run-russian-doom.sh",
"args": [
"-iwad",
"base/DOOM2.WAD"
],
"command_name": ".*rerelease"
},
{
"cmd": "./russian-doom/run-russian-doom.sh",
"args": [
"-iwad",
"base/DOOM2.WAD"
],
"command_name": ".*doom2"
},
{
"cmd": "./russian-doom/run-russian-doom.sh",
"args": [
"-iwad",
"finaldoombase/TNT.WAD"
],
"command_name": ".*tnt"
},
{
"cmd": "./russian-doom/run-russian-doom.sh",
"args": [
"-iwad",
"finaldoombase/PLUTONIA.WAD"
],
"command_name": ".*plutonia"
},
{
"cmd": "/bin/sh",
"args": [
"-c",
"echo \"Please use gzdoom for master levels.\" > last_error.txt && exit 10"
],
"command_name": ".*master"
}
],
"download": [
"russian-doom"
],
"download_config": [
{
"extract_location": "./russian-doom",
"download_name": "russian-doom"
}
]
},
{
"name": "Doom Runner",
"commands": [
Expand Down Expand Up @@ -2705,12 +2808,6 @@
"url": "https://github.com/luxtorpeda-dev/packages/releases/download/crispy-doom-12/",
"file": "crispy-doom-common-12.tar.xz",
"cache_by_name": true
},
{
"name": "inter-doom",
"url": "https://github.com/luxtorpeda-dev/packages/releases/download/inter-doom-12/",
"file": "inter-doom-common-12.tar.xz",
"cache_by_name": true
}
],
"choices": [
Expand Down Expand Up @@ -2823,20 +2920,20 @@
"engine_name": "Crispy Doom"
},
{
"name": "International Doom",
"engine_name": "International Doom",
"command": "./inter-doom/run-inter-hexen.sh",
"name": "Russian Doom",
"engine_name": "Russian Doom",
"command": "./russian-doom/run-russian-hexen.sh",
"command_args": [
"-iwad",
"../base/HEXEN.WAD"
],
"download": [
"inter-doom"
"russian-doom"
],
"download_config": [
{
"extract_location": "./inter-doom",
"download_name": "inter-doom"
"extract_location": "./russian-doom",
"download_name": "russian-doom"
}
]
},
Expand Down Expand Up @@ -2912,12 +3009,6 @@
"url": "https://github.com/luxtorpeda-dev/packages/releases/download/crispy-doom-12/",
"file": "crispy-doom-common-12.tar.xz",
"cache_by_name": true
},
{
"name": "inter-doom",
"url": "https://github.com/luxtorpeda-dev/packages/releases/download/inter-doom-12/",
"file": "inter-doom-common-12.tar.xz",
"cache_by_name": true
}
],
"choices": [
Expand Down Expand Up @@ -2995,21 +3086,21 @@
"engine_name": "Crispy Doom"
},
{
"name": "International Doom",
"command": "./inter-doom/run-inter-hexen.sh",
"name": "Russian Doom",
"command": "./russian-doom/run-russian-hexen.sh",
"command_args": [
"-iwad",
"../base/HEXEN.WAD",
"-file",
"../base/HEXDD.WAD"
],
"download": [
"inter-doom"
"russian-doom"
],
"download_config": [
{
"extract_location": "./inter-doom",
"download_name": "inter-doom"
"extract_location": "./russian-doom",
"download_name": "russian-doom"
}
]
},
Expand Down Expand Up @@ -3096,12 +3187,6 @@
"file": "crispy-doom-common-12.tar.xz",
"cache_by_name": true
},
{
"name": "inter-doom",
"url": "https://github.com/luxtorpeda-dev/packages/releases/download/inter-doom-12/",
"file": "inter-doom-common-12.tar.xz",
"cache_by_name": true
},
{
"name": "dsda-doom",
"url": "https://github.com/luxtorpeda-dev/packages/releases/download/dsda-doom-3/",
Expand Down Expand Up @@ -3252,19 +3337,19 @@
"engine_name": "Crispy Doom"
},
{
"name": "International Doom",
"command": "./inter-doom/run-inter-heretic.sh",
"name": "Russian Doom",
"command": "./russian-doom/run-russian-heretic.sh",
"command_args": [
"-iwad",
"../base/HERETIC.WAD"
],
"download": [
"inter-doom"
"russian-doom"
],
"download_config": [
{
"extract_location": "./inter-doom",
"download_name": "inter-doom"
"extract_location": "./russian-doom",
"download_name": "russian-doom"
}
]
},
Expand Down Expand Up @@ -8326,6 +8411,16 @@
"controllerNotSupported": true,
"engine_name": "International Doom"
},
{
"engine_link": "https://github.com/Russian-Doom/russian-doom",
"version": "6.3",
"author": "d10sfan",
"author_link": "https://github.com/d10sfan",
"license": "GPLv2",
"license_link": "https://github.com/Russian-Doom/russian-doom/blob/master/LICENSE.txt",
"controllerNotSupported": true,
"engine_name": "Russian Doom"
},
{
"engine_link": "https://github.com/coelckers/prboom-plus",
"version": "2.6.66",
Expand Down