mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-09 05:10:05 +02:00
Doom source ports + Data packages (#12084)
* PrBoom+: Fluidsynth, Portmidi & Alsa music now work, SDL is still sound only. - Made Fluidsynth default. - updated search paths. - engine:doom to be used with doom data packs * Chocolate Doom: Updated to 3.1.0 - patched in search paths - engine:doom and engine:doom_extra to be used with doom, heretic/hexen/strife data packs * Data packages for: Doom Shareware, Freedoom+FreeDM, Hacx, Chex Quest
This commit is contained in:
62
games-fps/chexquest/additional-files/chexquest.rdef.in
Normal file
62
games-fps/chexquest/additional-files/chexquest.rdef.in
Normal file
@@ -0,0 +1,62 @@
|
||||
resource app_version {
|
||||
major = @MAJOR@,
|
||||
middle = @MIDDLE@,
|
||||
minor = 0,
|
||||
|
||||
short_info = "Chex Quest",
|
||||
long_info = "@LONG_INFO@"
|
||||
};
|
||||
|
||||
resource large_icon array {
|
||||
$"FFFFFFFFFFFFFFFFFFFF000000000000000000000000FFFFFFFFFFFFFFFFFFFF"
|
||||
$"FFFFFFFFFFFFFFFF0000B8B8B8B8B8B8B8B8B8B8B8000000FFFFFFFFFFFFFFFF"
|
||||
$"FFFFFFFFFFFFFF00B8B8B8E8E8E8E8E8E8E8E8E8E8E8E80000FFFFFFFFFFFFFF"
|
||||
$"FFFFFFFFFFFF00B8B8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E80000FFFFFFFFFFFF"
|
||||
$"FFFFFFFFFF00B8B8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E80000FFFFFFFFFF"
|
||||
$"FFFFFFFF00B8B8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E80000FFFFFFFF"
|
||||
$"FFFFFF00B8B8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E80000FFFFFF"
|
||||
$"FFFF00B8B8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E80000FFFF"
|
||||
$"FFFF00B8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E80000FFFF"
|
||||
$"FF00B8B8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E80000FF"
|
||||
$"FF00B8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E80000FF"
|
||||
$"FF00B8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E80000FF"
|
||||
$"FF00B8E8E8E8E8E8E8E8E8E8E800000000B8E8E8E8E8E8E8E8E8E8E8E80000FF"
|
||||
$"FF00B8E8E8E8E8E8E8E8E8E8000000000000B8E8E8E8E8E8E8E8E8E8E80000FF"
|
||||
$"FF00B8E8E8E8E8E8E8E8E800000000FFFF00B8E8E8E8E8E8E8E8E8E8E80000FF"
|
||||
$"FF00B8E8E8E8E8E8E8E8E800000000000000B8E8E8E8E8E8E8E8E8E8E80000FF"
|
||||
$"FF00B8E8E8E8E8E8E8E8E8000000FAFAFA00B8E8E8E8E8E8E8E8E8E8E80000FF"
|
||||
$"FF00B8E8E8E8E8E8E8E8E8E8000000FAFAFA00E8E8E8E8E8E8E8E8E8E80000FF"
|
||||
$"FF00B8E8E8E8E8E8E8E8E8E8B8000000FAFAFA00E8E8E8E8E8E8E8E8E80000FF"
|
||||
$"FF00B8E8E8E8E8E8E8E8E8E8E8B8B8B800FAFAFA00E8E8E8E8E8E8E8E80000FF"
|
||||
$"FF0000E8E8E8E8E8E8E8E8E8E8E8E8E8E800FAFAFA00E8E8E8E8E8E8000000FF"
|
||||
$"FFFF00B8E8E8E8E8E8E8E8E8E8E8E8E80000FAFAFAFA00E8E8E8E8E8000000FF"
|
||||
$"FFFF0000E8E8E8E8E8E8E8E8E8E8E800FAFAFAFAFAFAFA00E8E8E8000000FFFF"
|
||||
$"FFFFFF0000E8E8E8E8E8E8E8E8E8E8E800FAFAFAFAFAFAFA00E800000000FFFF"
|
||||
$"FFFFFFFF0000E8E8E8E8E8E8E8E8E8E8E800FAFAFAFA0000E800000000FFFFFF"
|
||||
$"FFFFFFFFFF0000E8E8E8E8E8E8E8E8E8E8E800FAFAFA00E800000000FFFFFFFF"
|
||||
$"FFFFFFFFFFFF0000E8E8E8E8E8E8E8E8E8E8E800FAFAFA00000000FFFFFFFFFF"
|
||||
$"FFFFFFFFFFFFFF000000E8E8E8E8E8E8E8E8E8E800FAFAFA0000FFFFFFFFFFFF"
|
||||
$"FFFFFFFFFFFFFFFFFF00000000000000000000000000FAFAFA00FFFFFFFFFFFF"
|
||||
$"FFFFFFFFFFFFFFFFFFFF00000000000000000000000000FAFAFA00FFFFFFFFFF"
|
||||
$"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FAFAFA00FFFFFFFF"
|
||||
$"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FFFFFFFF"
|
||||
};
|
||||
|
||||
resource mini_icon array {
|
||||
$"FFFFFFFF00E1E1E1E1E1E800FFFFFFFF"
|
||||
$"FFFFFFE8B8E8E8E8E8E8E8EF00FFFFFF"
|
||||
$"FFFFE8B8E8E8E8E8E8E8E8E8EF00FFFF"
|
||||
$"FFE8B8E8E8E8E8E8E8E8E8E8E8EF00FF"
|
||||
$"FFE1E8E8E8E8E8E8E8E8E8E8E8E8F6FF"
|
||||
$"00E1E8E8E8E8E8E8E8E8E8E8E8E8EF00"
|
||||
$"00E1E8E8E8E8F600E8E8E8E8E8E8EF00"
|
||||
$"00E1E8E8E8EF000000E1E8E8E8E8EF00"
|
||||
$"00E1E8E8E8EF006565E8E8E8E8E8EF00"
|
||||
$"00E1E8E8E8E8E1E16565EFE8E8E8EF00"
|
||||
$"FFE8E8E8E8E8E8E8F6FA65EFE8E80000"
|
||||
$"FF00EFE8E8E8E8EF65FAFA65EFF600FF"
|
||||
$"FFFF00EFE8E8E8E8EF65FAF6F600FFFF"
|
||||
$"FFFFFF00EFE8E8E8E8EF656500FFFFFF"
|
||||
$"FFFFFFFFFF0000000000006565FFFFFF"
|
||||
$"FFFFFFFFFFFFFFFFFFFFFFFF658BFFFF"
|
||||
};
|
||||
96
games-fps/chexquest/additional-files/chexquest.sh
Normal file
96
games-fps/chexquest/additional-files/chexquest.sh
Normal file
@@ -0,0 +1,96 @@
|
||||
#!/bin/bash
|
||||
|
||||
wad="$(finddir B_SYSTEM_DATA_DIRECTORY)/doomdata/chex.wad"
|
||||
chex2wad="$(finddir B_SYSTEM_DATA_DIRECTORY)/doomdata/chex2.wad"
|
||||
|
||||
if [ ! -e $wad ]; then
|
||||
wad="$(finddir B_USER_DATA_DIRECTORY)/doomdata/chex.wad"
|
||||
chex2wad="$(finddir B_USER_DATA_DIRECTORY)/doomdata/chex2.wad"
|
||||
if [ ! -e $wad ]; then
|
||||
alert --stop "Game data not found!"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "$1" = "1" ]; then
|
||||
wadname="Chex Quest"
|
||||
echo "$wadname selected"
|
||||
elif [ "$1" = "2" ]; then
|
||||
pwad="-file $chex2wad"
|
||||
wadname="Chex Quest 2"
|
||||
echo "$wadname selected"
|
||||
fi
|
||||
|
||||
if [ $(command -v chocolate-doom) ]; then
|
||||
port1="chocolate-doom"
|
||||
port1name="Chocolate Doom"
|
||||
echo "Chocolate Doom detected"
|
||||
fi
|
||||
|
||||
if [ $(command -v GZDoom) ]; then
|
||||
if [ "$port1" = "" ]; then
|
||||
port1="GZDoom"
|
||||
port1name=$port1
|
||||
elif [ "$port2" = "" ]; then
|
||||
port2="GZDoom"
|
||||
port2name=$port2
|
||||
fi
|
||||
echo "GZDoom detected"
|
||||
fi
|
||||
|
||||
if [ -e $(finddir B_SYSTEM_APPS_DIRECTORY)/GZDoom/GZDoom ]; then
|
||||
if [ "$port1" = "" ]; then
|
||||
port1="$(finddir B_SYSTEM_APPS_DIRECTORY)/GZDoom/GZDoom"
|
||||
port1name="GZDoom (Legacy)"
|
||||
elif [ "$port2" = "" ]; then
|
||||
port2="$(finddir B_SYSTEM_APPS_DIRECTORY)/GZDoom/GZDoom"
|
||||
port2name="GZDoom (Legacy)"
|
||||
fi
|
||||
echo "GZDoom (Legacy) detected"
|
||||
fi
|
||||
|
||||
if [ $(command -v prboom-plus) ]; then
|
||||
if [ "$port1" = "" ]; then
|
||||
port1="prboom-plus"
|
||||
port1name="PrBoom+"
|
||||
elif [ "$port2" = "" ]; then
|
||||
port2="prboom-plus"
|
||||
port2name="PrBoom+"
|
||||
elif [ "$port3" = "" ]; then
|
||||
port3="prboom-plus"
|
||||
port3name="PrBoom+"
|
||||
fi
|
||||
echo "PrBoom+ detected"
|
||||
fi
|
||||
|
||||
if [ "$port1" = "" ]; then
|
||||
alert --stop "No Doom source port detected!"
|
||||
else
|
||||
if [ "$wadname" = "" ]; then
|
||||
askwad=$(alert --idea "Choose between Chex Quest and Chex Quest 2" "Chex Quest" "Chex Quest 2")
|
||||
if [ "$askwad" = "Chex Quest 2" ]; then
|
||||
pwad="-file $chex2wad"
|
||||
fi
|
||||
wadname=$askwad
|
||||
echo "$wadname selected"
|
||||
fi
|
||||
if [ "$port2" = "" ]; then
|
||||
echo "Only one port detected, running it by default"
|
||||
$port1 -iwad $wad $pwad $@
|
||||
else
|
||||
askport="Multiple Doom source ports detected. Choose one to use with '$wadname'"
|
||||
if [ "$port3" = "" ]; then
|
||||
button=$(alert --idea "$askport" "$port1name" "$port2name")
|
||||
else
|
||||
button=$(alert --idea "$askport" "$port1name" "$port2name" "$port3name")
|
||||
fi
|
||||
echo "$button selected"
|
||||
if [ "$button" = "$port1name" ]; then
|
||||
$port1 -iwad $wad $pwad $@
|
||||
elif [ "$button" = "$port2name" ]; then
|
||||
$port2 -iwad $wad $pwad $@
|
||||
elif [ "$button" = "$port3name" ]; then
|
||||
$port3 -iwad $wad $pwad $@
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
64
games-fps/chexquest/chexquest-1.0.recipe
Normal file
64
games-fps/chexquest/chexquest-1.0.recipe
Normal file
@@ -0,0 +1,64 @@
|
||||
SUMMARY="Non-violent cereal-based FPS game"
|
||||
DESCRIPTION="Chex Quest is a non-violent shooter originally intended as a Chex cereal promotion \
|
||||
and released for free in 1996, with a sequel in 1997.
|
||||
|
||||
This package contains the Chex Quest game data along with Chex Quest 2 and a script that will \
|
||||
look for compatible Doom source ports installed. If only one is found the game will run directly, \
|
||||
if there are more installed a pop-up to select the preferred one will be shown."
|
||||
HOMEPAGE="https://www.chexmix.com/chexquest/"
|
||||
COPYRIGHT="1996 - 1997 Digital Café, General Mills"
|
||||
LICENSE="Public Domain"
|
||||
REVISION="1"
|
||||
SOURCE_URI="http://www.doomlegends.com/chexquest/cqdos.zip"
|
||||
CHECKSUM_SHA256="dacb82e7589dd9563303aa8ff3124d8dbebac83bbf8bef7867426c5355f31699"
|
||||
SOURCE_DIR=""
|
||||
SOURCE_URI_2="http://www.doomlegends.com/chexquest/cq2dos.zip"
|
||||
CHECKSUM_SHA256_2="9311001295aa924ea4e0e40f51b475f2c4272bba938bb336c11d03d2daea6927"
|
||||
SOURCE_DIR_2="chexquest2"
|
||||
SOURCE_URI_3="ftp://ftp.fu-berlin.de/pc/games/idgames/themes/chex/chexdeh.zip"
|
||||
CHECKSUM_SHA256_3="eeed61747165a4a90c792cf4ae4572593ff36a8f87d365af5107f68ed4000bad"
|
||||
SOURCE_DIR_3=""
|
||||
ADDITIONAL_FILES="
|
||||
chexquest.rdef.in
|
||||
chexquest.sh
|
||||
"
|
||||
|
||||
ARCHITECTURES="any"
|
||||
DISABLE_SOURCE_PACKAGE="yes"
|
||||
|
||||
PROVIDES="
|
||||
chexquest = $portVersion
|
||||
"
|
||||
REQUIRES="
|
||||
engine:doom
|
||||
"
|
||||
|
||||
INSTALL()
|
||||
{
|
||||
# Pack game data
|
||||
mkdir -p $dataDir/doomdata && cp chex.wad $dataDir/doomdata
|
||||
cp $sourceDir2/CHEX2.WAD $dataDir/doomdata/chex2.wad
|
||||
cp $sourceDir3/chex.deh $dataDir/doomdata
|
||||
|
||||
# Pack docs
|
||||
mkdir -p $docDir && cp -t $docDir $sourceDir3/chexdeh.txt
|
||||
|
||||
# Pack script
|
||||
mkdir -p $appsDir/Chexquest && cp $portDir/additional-files/chexquest.sh $appsDir/Chexquest
|
||||
chmod +x $appsDir/Chexquest/chexquest.sh
|
||||
|
||||
# Generate the rdef
|
||||
local MAJOR="`echo "$portVersion" | cut -b1`"
|
||||
local MIDDLE="`echo "$portVersion" | cut -b3`"
|
||||
local LONG_INFO="$SUMMARY"
|
||||
sed \
|
||||
-e "s|@MAJOR@|$MAJOR|" \
|
||||
-e "s|@MIDDLE@|$MIDDLE|" \
|
||||
-e "s|@LONG_INFO@|$LONG_INFO|" \
|
||||
$portDir/additional-files/chexquest.rdef.in > chexquest.rdef
|
||||
|
||||
# Iconize & link script
|
||||
rc chexquest.rdef
|
||||
resattr -o $appsDir/Chexquest/chexquest.sh chexquest.rsrc
|
||||
addAppDeskbarSymlink $appsDir/Chexquest/chexquest.sh "Chex Quest"
|
||||
}
|
||||
@@ -1,27 +1,34 @@
|
||||
SUMMARY="Doom source port that accurately reproduces the experience of Doom"
|
||||
DESCRIPTION="Chocolate Doom is a source port of the game Doom, by id Software. \
|
||||
The purpose of Chocolate Doom is to be as compatible as possible with the \
|
||||
original DOS version of Doom."
|
||||
original DOS version of Doom.
|
||||
|
||||
Chocolate Doom also provides Chocolate Heretic, Hexen and Strife, accurate \
|
||||
source ports of their respective games.
|
||||
|
||||
The binaries will look for .wad files in:
|
||||
* ~/config/non-packaged/data/chocolate-doom
|
||||
* ~/config/non-packaged/data/doomdata
|
||||
* ~/config/non-packaged/data/doom
|
||||
* ~/config/non-packaged/data/games/doom
|
||||
* ~/doom
|
||||
* /boot/system/non-packaged/data/doomdata
|
||||
* Any compatible game data package
|
||||
The binaries can be also used via command-line with the -iwad command.
|
||||
Example: 'chocolate-doom -iwad /path/to/doom.wad'"
|
||||
HOMEPAGE="https://www.chocolate-doom.org/"
|
||||
COPYRIGHT="Id Software Inc. 1993-1996
|
||||
Simon Howard
|
||||
James Haley
|
||||
Samuel Villarreal"
|
||||
LICENSE="GNU GPL v2"
|
||||
REVISION="3"
|
||||
SOURCE_URI="https://www.chocolate-doom.org/downloads/$portVersion/chocolate-doom-$portVersion.tar.gz"
|
||||
CHECKSUM_SHA256="d435d6177423491d60be706da9f07d3ab4fabf3e077ec2a3fc216e394fcfc8c7"
|
||||
SOURCE_DIR="chocolate-doom-$portVersion"
|
||||
REVISION="1"
|
||||
SOURCE_URI="https://github.com/chocolate-doom/chocolate-doom/archive/refs/tags/chocolate-doom-$portVersion.tar.gz"
|
||||
CHECKSUM_SHA256="f2c64843dcec312032b180c3b2f34b4cb26c4dcdaa7375a1601a3b1df11ef84d"
|
||||
SOURCE_DIR="chocolate-doom-chocolate-doom-$portVersion"
|
||||
|
||||
ARCHITECTURES="all !x86_gcc2"
|
||||
|
||||
commandSuffix=$secondaryArchSuffix
|
||||
commandBinDir=$binDir
|
||||
if [ $targetArchitecture == x86_gcc2 ]; then
|
||||
SECONDARY_ARCHITECTURES="x86"
|
||||
commandSuffix=
|
||||
commandBinDir=$prefix/bin
|
||||
fi
|
||||
SECONDARY_ARCHITECTURES="x86"
|
||||
|
||||
PROVIDES="
|
||||
chocolate_doom$secondaryArchSuffix = $portVersion
|
||||
@@ -34,6 +41,8 @@ PROVIDES="
|
||||
cmd:chocolate_server = $portVersion
|
||||
cmd:chocolate_strife = $portVersion
|
||||
cmd:chocolate_strife_setup = $portVersion
|
||||
engine:doom
|
||||
engine:doom_extra
|
||||
"
|
||||
REQUIRES="
|
||||
haiku$secondaryArchSuffix
|
||||
@@ -47,6 +56,7 @@ REQUIRES="
|
||||
|
||||
BUILD_REQUIRES="
|
||||
haiku${secondaryArchSuffix}_devel
|
||||
#devel:libfluidsynth$secondaryArchSuffix # Optional, isn't found during build
|
||||
devel:libpng16$secondaryArchSuffix
|
||||
devel:libsamplerate$secondaryArchSuffix
|
||||
devel:libsdl2_2.0$secondaryArchSuffix
|
||||
@@ -55,55 +65,41 @@ BUILD_REQUIRES="
|
||||
devel:libz$secondaryArchSuffix
|
||||
"
|
||||
BUILD_PREREQUIRES="
|
||||
cmd:aclocal
|
||||
cmd:autoreconf
|
||||
cmd:awk
|
||||
cmd:gcc$secondaryArchSuffix
|
||||
cmd:install
|
||||
cmd:ld$secondaryArchSuffix
|
||||
cmd:make
|
||||
cmd:pkg_config$secondaryArchSuffix
|
||||
# Uncomment when updating to chocolate_doom > 3.0.1
|
||||
# cmd:python3
|
||||
cmd:sed
|
||||
cmd:python3
|
||||
"
|
||||
|
||||
defineDebugInfoPackage chocolate_doom$secondaryArchSuffix \
|
||||
$commandBinDir/chocolate-doom \
|
||||
$commandBinDir/chocolate-doom-setup \
|
||||
$commandBinDir/chocolate-hexen \
|
||||
$commandBinDir/chocolate-hexen-setup \
|
||||
$commandBinDir/chocolate-heretic \
|
||||
$commandBinDir/chocolate-heretic-setup \
|
||||
$commandBinDir/chocolate-server \
|
||||
$commandBinDir/chocolate-strife-setup \
|
||||
$commandBinDir/chocolate-strife
|
||||
|
||||
|
||||
BUILD()
|
||||
{
|
||||
nonpackdatadir=$(finddir B_USER_NONPACKAGED_DATA_DIRECTORY)
|
||||
homedir=$(finddir B_USER_DIRECTORY)
|
||||
|
||||
# Avoid "multiple definition" linker errors under "src/hexen/"
|
||||
export LDFLAGS="-z muldefs"
|
||||
# Add specific paths via DOOMWADPATH
|
||||
export DOOMWADPATH="$nonpackdatadir/doom:$nonpackdatadir/chocolate-doom:$homedir/doom:$(findpaths -c : B_FIND_PATH_DATA_DIRECTORY doomdata)"
|
||||
|
||||
# "__dummy__" is just a placeholder, because the makefiles use "$docdir/../chocolate_xxx"
|
||||
docdir=$prefix/documentation/packages/chocolate_doom/__dummy__
|
||||
|
||||
autogen.sh
|
||||
runConfigure --omit-dirs "binDir docDir" ./configure \
|
||||
--bindir=$commandBinDir \
|
||||
--bindir=$prefix/bin \
|
||||
--docdir=$docdir
|
||||
# Option available only on versions > 3.0.1, and with cmd:python3 available
|
||||
# --with-bashcompletiondir=$dataDir/bash-completion/completions
|
||||
|
||||
make $jobArgs
|
||||
}
|
||||
|
||||
INSTALL()
|
||||
{
|
||||
# Other install targets are: install-man install-data. Recheck when updating to > 3.0.1
|
||||
make install install-exec
|
||||
|
||||
# For now, let's manually install unprocessed man pages (better than nothing):
|
||||
mkdir -p $manDir/man5 $manDir/man6
|
||||
cp man/*.5 $manDir/man5
|
||||
cp man/*.6 $manDir/man6
|
||||
# Unused install targets are: install-data (contains icons)
|
||||
make install install-exec install-man
|
||||
|
||||
# clean-up
|
||||
rm -rf $prefix/share
|
||||
109
games-fps/doom_shareware/additional-files/doom_shareware.rdef.in
Normal file
109
games-fps/doom_shareware/additional-files/doom_shareware.rdef.in
Normal file
@@ -0,0 +1,109 @@
|
||||
resource app_version {
|
||||
major = @MAJOR@,
|
||||
middle = @MIDDLE@,
|
||||
minor = 0,
|
||||
|
||||
short_info = "Doom - Shareware version",
|
||||
long_info = "@LONG_INFO@"
|
||||
};
|
||||
|
||||
resource vector_icon {
|
||||
$"6E6369660203F05B6C031F212B170607FF1FC310C092C310C092C28EC0E4C188"
|
||||
$"C188C20BC136C188C03CC188BDA4C188BEF0C188BD27C188BC2EC188BCAAC20B"
|
||||
$"BC2EC310BC2EC28EBC2EC310BDA4C310C092C310BF1BC310C092C0920607FF1F"
|
||||
$"BCF1BDA4BCF1BDA4BCF1BEF0BCF1C188BCF1C03CBC6FC136BB6AC092BBECC0E4"
|
||||
$"BB6ABF1BBB6ABC2EBB6ABDA4BBECBC2EBCF1BC2EBC6FBC2EBCF1BCAABCF1BDA4"
|
||||
$"BCF1BD27BCF1BDA4BDA40607FF1FB797C092B797C092B714C0FAB60FC1CAB691"
|
||||
$"C162B60FC068B60FBDA4B60FBF06B60FBD27B60FBC2EB60FBCAAB691BC2EB797"
|
||||
$"BC2EB714BC2EB797BDA4B797C092B797BF1BB797C092C092021AC92FB9A1C92F"
|
||||
$"B9A1C8D8BA7AC82ABC2EC881BB54C7D3BB54C725B9A1C77CBA7AC67BB9A1C527"
|
||||
$"B9A1C5D1B9A1C527B9A1C527B9A1C527B9A1C13AB9A130B9A1BD4DB9A130B9F8"
|
||||
$"30BAA630BA4FB908BA4FB85AB9A1B8B1B9F8B6A7B9A1B341B9A1B4F4B9A1B382"
|
||||
$"B9F8B405BAA6B3C3BA4FB405BEBAB405C6E3B405C2CFB5CEC57130C28EB797C3"
|
||||
$"FFBAA6C351BD33C4D9BBECC415BDE1C457BF3DC351BE8FC3D4BFEBC3D4C147C4"
|
||||
$"D9C099C457C28EC415C51AC28EC3D4C351C5C8C2FAC725C3D4C677C367C725C2"
|
||||
$"FAC725C147C725C221C77CC1DFC82AC310C7D3C278C881C278C92FC147C8D8C1"
|
||||
$"DFC92FC2A3C92FC55CC92FC3FFC9F3C5DECB7AC6E3CAB7C661CB7AC2CFCB7ABA"
|
||||
$"A6CB7ABEBACBBCBA4FCC3EB9A1CBFDB9F8CB39B9A1C92FB9A1CA34B9A1C92FB9"
|
||||
$"A1C92FB9A1C92FB9A1C92FB9A10225C970C539C970C539CA08C59ECB39C669CA"
|
||||
$"A1C604CB39C27ECB39BAA6CB39BE92CB39BA98CB46BA7FCB3EBA8ACB6DBA4BCB"
|
||||
$"BCB9E2CB94BA16CAF1B9E2C95BB9E2CA26B9E2C909BAAEC866BC46C8B8BB7AC8"
|
||||
$"5CBC5FC82ABC6FC844BC6FC80FBC6FC7EDBC46C7F7BC5FC79CBB7AC6F8B9E2C7"
|
||||
$"4ABAAEC286B9E2B9A1B9E2BE13B9E2B9A1BA23B9A1BAA6B9A1BA65B9A1BAC0B9"
|
||||
$"79BAE2B991BAD830BAECB931BAD4B944BAE7B8E1BA83B83FB9E2B890BA33B6C1"
|
||||
$"B9E2B3C3B9E2B542B9E2B3EBBA16B439BA7FB412BA4BB441BA8AB446BAA6B446"
|
||||
$"BA98B446BE8DB446C65BB446C274B5EBC505B936C25BB791C3B0B94CC24AB981"
|
||||
$"C256B96AC248BABBC312BD2FC48BBBF5C3CEBDD1C411BF16C31DBE73C397BF2D"
|
||||
$"C30CBF64C31DBF4DC30CC006C397C14BC48BC0A9C411C285C3CEC4F9C256C3BF"
|
||||
$"C312C50EC249C53DC256C528C249C5CAC2AEC6E3C35EC657C306C6E3C2ACC6E3"
|
||||
$"C147C6E3C1FAC6E3C12AC714C108C6F7C110C731C100C75DC127C74FC10DC7A1"
|
||||
$"C19EC82AC28DC7E6C215C86EC215C8F6C127C8B2C19EC905C10DC940C108C923"
|
||||
$"C100C95CC110C970C147C970C12AC970C298C970C539C970C3E8C970C539C970"
|
||||
$"C539C970C539C970C539022BB405C725B405C725B3FBC725B3E8C71EB3F1C723"
|
||||
$"B3D2C713B3C3C6E3B3C3C6FCB3C3C2D6B3C3BABCB3C3BEC9B386BA6AB30DB9C8"
|
||||
$"B349BA19B2FEB9B4B306B984B2FBB99AB311B96DB34130B32830B4F430B85A30"
|
||||
$"B6A730B86C30B889B973B87CB966B8BAB9A5B91EBA08B8ECB9D6B91EB9E6B91E"
|
||||
$"B9A1B91EB9C3B91EB97D3030B93B30BDF730C72530C28E30C73F30C761B988C7"
|
||||
$"57B970C7A4BA30C82ABB7EC7E7BAD7C86DBAD7C8F2B989C8AFBA30C8FCB970C9"
|
||||
$"2F30C91430CA3430CC3E30CB3930CC5730CC79B984CC6EB96DCC84B99ACC72B9"
|
||||
$"C8CC81B9B4CC36BA19CBBCBABCCBF9BA6ACBBCBEC9CBBCC6E3CBBCC2D6CBBCC6"
|
||||
$"FBCB99C71DCBAEC712CB84C728CB56C71ACB6AC727CA92C697C90BC592C9CFC6"
|
||||
$"15C8F8C586C8EEC55CC8EEC571C8EEC451C8EEC23DC8EEC347C8BFC28EC862C3"
|
||||
$"31C891C2DFC84BC359C7F1C331C808C359C7C3C2DFC766C23DC794C28EC766C2"
|
||||
$"C5C766C3D4C766C34CC766C3ECC744C40DC759C402C730C419C702C40BC716C4"
|
||||
$"18C65FC3A6C51AC2DAC5BCC340C3DFC397C169C511C2A4C454C152C51FC120C5"
|
||||
$"0DC135C51DC07FC495BF3DC3A3BFDEC41CBE9CC41CBD5AC50DBDFBC495BD45C5"
|
||||
$"1DBD11C511BD28C51FBBD8C455B965C2DDBA9EC399B7A8C445B42EC716B5EBC5"
|
||||
$"AEB422C720B405C725B413C725B405C725B405C725B405C725B405C7250606FF"
|
||||
$"0728BC4E28BC4E28BE0328C16C28BFB7B69CC11EB776C082B709C0D0B776BF1C"
|
||||
$"B776BC4EB776BDB5B709BC4E28BC4EB69CBC4E28BC4EBC4E020CB5EEC22CB5EE"
|
||||
$"C22CB5E4C22CB5D046B5DAC229B5BBC219B5ADC1EAB5ADC203B5ADBFF6B5ADBC"
|
||||
$"0DB5ADBE01B5ADBBE9B5EEBBCC27BBCCB687BBCCB7B7BBCCB71FBBCCB7DBBBCC"
|
||||
$"B7F8BC0DB7F8BBE9B7F8BD95B7F8C0A4B7F8BF1CB7F8C0B9B7DDC0D9B7EEC0CD"
|
||||
$"B745C146B614C220B6ACC1B3B609C228B5EEC22CB5FCC22CB5EEC22CB5EEC22C"
|
||||
$"B5EEC22CB5EEC22C06047FC331C0A4C331C0A4C331C0A4C331C0A4C331C0A4C3"
|
||||
$"31C0A4C331C0A4C331C0A4C331C0A4C0A40606FF07C1A9BC4EC1A9BC4EC1A9BD"
|
||||
$"F2C1A9C139C1A9BF95C216C0FA48C07EC283C0BC48BF1948BC4E48BDB4C283BC"
|
||||
$"4EC1A9BC4EC216BC4EC1A9BC4EBC4E020CC168C1EAC168C1EAC15DC1EAC147C1"
|
||||
$"E2C151C1E7C133C1D6C127C1A9C127C1C0C127BFCAC127BC0DC127BDECC127BB"
|
||||
$"E9C168BBCCC144BBCCC200BBCCC331BBCCC298BBCCC355BBCCC372BC0DC372BB"
|
||||
$"E9C372BD95C372C0A4C372BF1CC372C0BBC351C0DDC366C0D1C2B9C134C188C1"
|
||||
$"E2C221C18BC17EC1E8C168C1EAC173C1EAC168C1EAC168C1EAC168C1EAC168C1"
|
||||
$"EA0608FF7FB980C001B980C001B96EC00130BFE030BFF230BE2D30BAC730BC7A"
|
||||
$"30BAB5B980BAA6B96EBAA6B992BAA6B9A1BAC7B9A1BAB5B9A1BC7AB9A1BFE0B9"
|
||||
$"A1BE2DB9A1BFF2B980C001B992C001B980C001C0010608FF7FB980C28EB980C2"
|
||||
$"8EB96EC28E30C26D30C27F30C21630C16830C1BF30C156B980C147B96EC147B9"
|
||||
$"92C147B9A1C168B9A1C156B9A1C1BFB9A1C26DB9A1C216B9A1C27FB980C28EB9"
|
||||
$"92C28EB980C28EC28E0608FF7FB980C0E5B980C0E5B96EC0E530C0C530C0D730"
|
||||
$"C0AF30C08330C09930C071B980C063B96EC063B992C063B9A1C083B9A1C071B9"
|
||||
$"A1C099B9A1C0C5B9A1C0AFB9A1C0D7B980C0E5B992C0E5B980C0E5C0E50606FF"
|
||||
$"07BB8AC07EBB8AC07EBBF7C0BCBCD1C139BC64C0FABCD1BF95BCD1BC4EBCD1BD"
|
||||
$"F2BC64BC4EBB8ABC4EBBF7BC4EBB8ABDB4BB8AC07EBB8ABF19BB8AC07EC07E02"
|
||||
$"0CBD12C1EABD12C1EABD07C1EABCF2C1E2BCFCC1E8BC59C18BBB29C0DDBBC1C1"
|
||||
$"34BB14C0D1BB08C0A4BB08C0BBBB08BF1CBB08BC0DBB08BD95BB08BBE9BB49BB"
|
||||
$"CCBB25BBCCBBE1BBCCBD12BBCCBC7ABBCCBD36BBCCBD53BC0DBD53BBE9BD53BD"
|
||||
$"ECBD53C1A9BD53BFCABD53C1C0BD33C1E2BD47C1D6BD29C1E7BD12C1EABD1DC1"
|
||||
$"EABD12C1EABD12C1EABD12C1EABD12C1EA0608FF7FBF5EBFE0BF5EBFE0BF4CBF"
|
||||
$"E0BF3D40BF3DBFD2BF3DBDCBBF3DB9E2BF3DBBD7BF3DB9D0BF5EB9C1BF4CB9C1"
|
||||
$"BF70B9C1BF7EB9E2BF7EB9D0BF7EBBD7BF7E40BF7EBDCBBF7EBFD2BF5EBFE0BF"
|
||||
$"70BFE0BF5EBFE0BFE00608FF7FBF5EC351BF5EC351BF4CC351BF3DC331BF3DC3"
|
||||
$"43BF3DC310BF3DC2CFBF3D48BF3DC2BDBF5EC2AEBF4CC2AEBF70C2AEBF7EC2CF"
|
||||
$"BF7EC2BDBF7E48BF7EC331BF7EC310BF7EC343BF5EC351BF70C351BF5EC351C3"
|
||||
$"510608FF7FBF5EC0C5BF5EC0C5BF4CC0C5BF3DC0A4BF3DC0B6BF3DC08EBF3DC0"
|
||||
$"63BF3DC078BF3DC051BF5EC042BF4CC042BF70C042BF7EC063BF7EC051BF7EC0"
|
||||
$"78BF7EC0A4BF7EC08EBF7EC0B6BF5EC0C5BF70C0C5BF5EC0C5C0C50608FF7FBF"
|
||||
$"5EC228BF5EC228BF4CC228BF3DC208BF3DC21ABF3DC1D2BF3DC168BF3DC19DBF"
|
||||
$"3DC156BF5EC147BF4CC147BF70C147BF7EC168BF7EC156BF7EC19DBF7EC208BF"
|
||||
$"7EC1D2BF7EC21ABF5EC228BF70C228BF5EC228C2280608FF7FC538C2AEC538C2"
|
||||
$"AEC526C2AEC517C28EC517C2A0C517C04BC517BBC7C517BE09C517BBB5C538BB"
|
||||
$"A6C526BBA6C54ABBA6C558BBC7C558BBB5C558BE09C558C28EC558C04BC558C2"
|
||||
$"A0C538C2AEC54AC2AEC538C2AEC2AE0608FF7FC538BB44C538BB44C526BB44C5"
|
||||
$"17BB24C517BB36C517BB05C517BAC7C517BAE6C517BAB5C538BAA6C526BAA6C5"
|
||||
$"4ABAA6C558BAC7C558BAB5C558BAE6C558BB24C558BB05C558BB36C538BB44C5"
|
||||
$"4ABB44C538BB44BB440608FF7FC538BA3FC538BA3FC526BA3FC517BA1FC517BA"
|
||||
$"31C517B9E9C517B97FC517B9B4C517B96DC538B95EC526B95EC54AB95EC558B9"
|
||||
$"7FC558B96DC558B9B4C558BA1FC558B9E9C558BA31C538BA3FC54ABA3FC538BA"
|
||||
$"3FBA3F0F0A000400010203000A01020405000A01020607000A010308090A000A"
|
||||
$"01010B000A01010C000A01010D000A01020E0F000A010110000A010111000A01"
|
||||
$"0112000A010113000A010114000A010115000A01011600"
|
||||
};
|
||||
76
games-fps/doom_shareware/additional-files/doom_shareware.sh
Normal file
76
games-fps/doom_shareware/additional-files/doom_shareware.sh
Normal file
@@ -0,0 +1,76 @@
|
||||
#!/bin/bash
|
||||
|
||||
wad="$(finddir B_SYSTEM_DATA_DIRECTORY)/doomdata/doom1.wad"
|
||||
wadname="Doom - Shareware version"
|
||||
|
||||
if [ ! -e $wad ]; then
|
||||
wad="$(finddir B_USER_DATA_DIRECTORY)/doomdata/doom1.wad"
|
||||
if [ ! -e $wad ]; then
|
||||
alert --stop "Game data not found!"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ $(command -v chocolate-doom) ]; then
|
||||
port1="chocolate-doom"
|
||||
port1name="Chocolate Doom"
|
||||
echo "Chocolate Doom detected"
|
||||
fi
|
||||
|
||||
if [ $(command -v GZDoom) ]; then
|
||||
if [ "$port1" = "" ]; then
|
||||
port1="GZDoom"
|
||||
port1name=$port1
|
||||
elif [ "$port2" = "" ]; then
|
||||
port2="GZDoom"
|
||||
port2name=$port2
|
||||
fi
|
||||
echo "GZDoom detected"
|
||||
fi
|
||||
|
||||
if [ -e $(finddir B_SYSTEM_APPS_DIRECTORY)/GZDoom/GZDoom ]; then
|
||||
if [ "$port1" = "" ]; then
|
||||
port1="$(finddir B_SYSTEM_APPS_DIRECTORY)/GZDoom/GZDoom"
|
||||
port1name="GZDoom (Legacy)"
|
||||
elif [ "$port2" = "" ]; then
|
||||
port2="$(finddir B_SYSTEM_APPS_DIRECTORY)/GZDoom/GZDoom"
|
||||
port2name="GZDoom (Legacy)"
|
||||
fi
|
||||
echo "GZDoom (Legacy) detected"
|
||||
fi
|
||||
|
||||
if [ $(command -v prboom-plus) ]; then
|
||||
if [ "$port1" = "" ]; then
|
||||
port1="prboom-plus"
|
||||
port1name="PrBoom+"
|
||||
elif [ "$port2" = "" ]; then
|
||||
port2="prboom-plus"
|
||||
port2name="PrBoom+"
|
||||
elif [ "$port3" = "" ]; then
|
||||
port3="prboom-plus"
|
||||
port3name="PrBoom+"
|
||||
fi
|
||||
echo "PrBoom+ detected"
|
||||
fi
|
||||
|
||||
if [ "$port1" = "" ]; then
|
||||
alert --stop "No Doom source port detected!"
|
||||
elif [ "$port2" = "" ]; then
|
||||
echo "Only one port detected, running it by default"
|
||||
$port1 -iwad $wad $@
|
||||
else
|
||||
askport="Multiple Doom source ports detected. Choose one to use with '$wadname'"
|
||||
if [ "$port3" = "" ]; then
|
||||
button=$(alert --idea "$askport" "$port1name" "$port2name")
|
||||
else
|
||||
button=$(alert --idea "$askport" "$port1name" "$port2name" "$port3name")
|
||||
fi
|
||||
echo "$button selected"
|
||||
if [ "$button" = "$port1name" ]; then
|
||||
$port1 -iwad $wad $@
|
||||
elif [ "$button" = "$port2name" ]; then
|
||||
$port2 -iwad $wad $@
|
||||
elif [ "$button" = "$port3name" ]; then
|
||||
$port3 -iwad $wad $@
|
||||
fi
|
||||
fi
|
||||
53
games-fps/doom_shareware/doom_shareware-1.9.recipe
Normal file
53
games-fps/doom_shareware/doom_shareware-1.9.recipe
Normal file
@@ -0,0 +1,53 @@
|
||||
SUMMARY="Shareware version of the classic FPS game"
|
||||
DESCRIPTION="This is the latest release of Doom in its shareware form, which allows players to experience \
|
||||
the first episode of the game in its entirety since 1993.
|
||||
|
||||
This package contains the Doom shareware game data along with a script that will look for \
|
||||
compatible Doom source ports installed. If only one is found the game will run directly, \
|
||||
if there are more installed a pop-up to select the preferred one will be shown."
|
||||
HOMEPAGE="https://www.doomworld.com/classicdoom/"
|
||||
COPYRIGHT="1993 - 1995 Id Software"
|
||||
LICENSE="Public Domain"
|
||||
REVISION="1"
|
||||
SOURCE_URI="https://www.doomworld.com/3ddownloads/ports/shareware_doom_iwad.zip"
|
||||
CHECKSUM_SHA256="845f4f3a449343b068a4e178f9cb018cb1f5b7d5ef09db292864ed554f612276"
|
||||
SOURCE_DIR=""
|
||||
ADDITIONAL_FILES="
|
||||
doom_shareware.rdef.in
|
||||
doom_shareware.sh
|
||||
"
|
||||
|
||||
ARCHITECTURES="any"
|
||||
DISABLE_SOURCE_PACKAGE="yes"
|
||||
|
||||
PROVIDES="
|
||||
doom_shareware = $portVersion
|
||||
"
|
||||
REQUIRES="
|
||||
engine:doom
|
||||
"
|
||||
|
||||
INSTALL()
|
||||
{
|
||||
# Pack game data
|
||||
mkdir -p $dataDir/doomdata && cp DOOM1.WAD $dataDir/doomdata/doom1.wad
|
||||
|
||||
# Pack script
|
||||
mkdir -p $appsDir/Doom-shareware && cp $portDir/additional-files/doom_shareware.sh $appsDir/Doom-shareware
|
||||
chmod +x $appsDir/Doom-shareware/doom_shareware.sh
|
||||
|
||||
# Generate the rdef
|
||||
local MAJOR="`echo "$portVersion" | cut -b1`"
|
||||
local MIDDLE="`echo "$portVersion" | cut -b3`"
|
||||
local LONG_INFO="$SUMMARY"
|
||||
sed \
|
||||
-e "s|@MAJOR@|$MAJOR|" \
|
||||
-e "s|@MIDDLE@|$MIDDLE|" \
|
||||
-e "s|@LONG_INFO@|$LONG_INFO|" \
|
||||
$portDir/additional-files/doom_shareware.rdef.in > doom_shareware.rdef
|
||||
|
||||
# Iconize & link script
|
||||
rc doom_shareware.rdef
|
||||
resattr -o $appsDir/Doom-shareware/doom_shareware.sh doom_shareware.rsrc
|
||||
addAppDeskbarSymlink $appsDir/Doom-shareware/doom_shareware.sh "Doom - Shareware"
|
||||
}
|
||||
62
games-fps/freedoom/additional-files/freedoom.rdef.in
Normal file
62
games-fps/freedoom/additional-files/freedoom.rdef.in
Normal file
@@ -0,0 +1,62 @@
|
||||
resource app_version {
|
||||
major = @MAJOR@,
|
||||
middle = @MIDDLE@,
|
||||
minor = @MINOR@,
|
||||
|
||||
short_info = "Freedoom",
|
||||
long_info = "@LONG_INFO@"
|
||||
};
|
||||
|
||||
resource large_icon array {
|
||||
$"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
|
||||
$"FFFFFFFFFFFFFFFF000000000000000000000000000000FFFFFFFFFFFFFFFFFF"
|
||||
$"FFFFFFFFFFFFFF0000000202D702D703020200000000000000FFFFFFFFFFFFFF"
|
||||
$"FFFFFFFFFF000000D1D1D0D0AAD1000300000000000000000000FFFFFFFFFFFF"
|
||||
$"FFFFFFFF000003D7D0AAAAAAD1D1D1D1D7D1000000030000000000FFFFFFFFFF"
|
||||
$"FFFFFFFFFF00AAAAD1D1D7D7D1D1D1D702D1D7D703000000000000FFFFFFFFFF"
|
||||
$"FFFFFFFFFF00D103D1D103030003000000000002000000000000FF00FFFFFFFF"
|
||||
$"FFFFFFFF02030002000000000000000000000000000000000000FFFFFFFFFFFF"
|
||||
$"FFFFFFFF0000000000000000000000000000000000000000000000FFFFFFFFFF"
|
||||
$"FFFFFFFFFF0000000000000000000300000000000003000000000000FFFFFFFF"
|
||||
$"FFFFFFFFFF000000000000000003D103030003000000030000000000FFFFFFFF"
|
||||
$"FFFFFFFF000000000000030300D0A4A4D103D0AA00D0D103000000FFFFFFFFFF"
|
||||
$"FFFFFFFF000000000003D1D1AAD08383A4D1D0AAD0D1D1D1030300FFFFFFFFFF"
|
||||
$"FFFFFFFFD100030000D1D1AAAAA45A5A5AA4D0D0D1D0D0D103000000FFFFFFFF"
|
||||
$"FFFFFFFF8302D10000AAAA83AAA4838383AAAA8383AAAAAAD1020000FFFFFFFF"
|
||||
$"FFFFFFFF83D7AA00D00303AA8383A4AAA48383AAD703D1AAAA0300AAFFFFFFFF"
|
||||
$"FFFFFFFFA4D7AAD0AA000000D7D05A5A83AAD702AAD1D7AAAAD7D083FFFFFFFF"
|
||||
$"FFFFFFFFD0D7AAAAAA31A302CAAA835AA4CAA302CAAAAAAAAAD183D0FFFFFFFF"
|
||||
$"FFFFFFFFD1D7CAA483AAA35A83AAA483AAAA835AA3AA83A4AAD1AAFFFFFFFFFF"
|
||||
$"FFFFFFFFFFD731CA5A5A8383AAAAA483AAAA8383835A5A83AAD1FFFFFFFFFFFF"
|
||||
$"FFFFFFFFFFD7F130A3A4A4AAAAA4835AAAA4AAA4A4A45A83D0D1FFFFFFFFFFFF"
|
||||
$"FFFFFFFFFFFFF1A4CAD0D1AAD0D183A4AAD131AAD1D0AAA4D0D7FFFFFFFFFFFF"
|
||||
$"FFFFFFFFFFFFF1D0AAD107AAD030D0D0D130313107D1D0D0D1D7FFFFFFFFFFFF"
|
||||
$"FFFFFFFFFFFF31D1D0D0AA0A31CA835A83CA3007AAD0D0D1D7FFFFFFFFFFFFFF"
|
||||
$"FFFFFFFFFFFFFFD7D1D0D0AA0C12171717120931D0D0D1D703FFFFFFFFFFFFFF"
|
||||
$"FFFFFFFFFFFFFF03D7D1D0D0CA0F1215120FCA30D0D1D703FFFFFFFFFFFFFFFF"
|
||||
$"FFFFFFFFFFFFFFFF03D7D0AACAA35A5A5AA3CA31D0D703FFFFFFFFFFFFFFFFFF"
|
||||
$"FFFFFFFFFFFFFFFFFF03D7D0CACAAAD0AACACA31D703FFFFFFFFFFFFFFFFFFFF"
|
||||
$"FFFFFFFFFFFFFFFFFFFF03D7CAA35A5A5AA3303103FFFFFFFFFFFFFFFFFFFFFF"
|
||||
$"FFFFFFFFFFFFFFFFFFFFFFFF3131D7D7D73131FFFFFFFFFFFFFFFFFFFFFFFFFF"
|
||||
$"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
|
||||
$"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
|
||||
};
|
||||
|
||||
resource mini_icon array {
|
||||
$"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
|
||||
$"FFFFFFFF0202030302000000FFFFFFFF"
|
||||
$"FFFF00D7D0AAD0D7D700020000FFFFFF"
|
||||
$"FFFF02D0D1D7D7D7030302000000FFFF"
|
||||
$"FFFF0202000000000000000000FFFFFF"
|
||||
$"FFFF0000000002D7020302020000FFFF"
|
||||
$"FFFF000002D7D0A4AAAAD0D10200FFFF"
|
||||
$"FFFFAA03D0AAAA8383AAAAAAD702FFFF"
|
||||
$"FFFFAAD0D0D0AA83A4AAD0D0D0AAFFFF"
|
||||
$"FFFFD0AAAAA3AA83AAA3AAAAD0AAFFFF"
|
||||
$"FFFFD7CA83A4AA83AAA48383D0FFFFFF"
|
||||
$"FFFFFFD0AAAAD0AAD0D0D0AAD1FFFFFF"
|
||||
$"FFFFFFD7D0AA0C5A12D0D0D1D7FFFFFF"
|
||||
$"FFFFFFFFD7D0A35AA3CAD0D7FFFFFFFF"
|
||||
$"FFFFFFFFFFD7CA83A330D7FFFFFFFFFF"
|
||||
$"FFFFFFFFFFFFFFD0D0FFFFFFFFFFFFFF"
|
||||
};
|
||||
100
games-fps/freedoom/additional-files/freedoom.sh
Normal file
100
games-fps/freedoom/additional-files/freedoom.sh
Normal file
@@ -0,0 +1,100 @@
|
||||
#!/bin/bash
|
||||
|
||||
wad1="$(finddir B_SYSTEM_DATA_DIRECTORY)/doomdata/freedoom1.wad"
|
||||
wad2="$(finddir B_SYSTEM_DATA_DIRECTORY)/doomdata/freedoom2.wad"
|
||||
|
||||
|
||||
if [ ! -e $wad1 ]; then
|
||||
wad1="$(finddir B_USER_DATA_DIRECTORY)/doomdata/freedoom1.wad"
|
||||
wad2="$(finddir B_USER_DATA_DIRECTORY)/doomdata/freedoom2.wad"
|
||||
if [ ! -e $wad1 ]; then
|
||||
alert --stop "Game data not found!"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "$1" = "1" ]; then
|
||||
wad=$wad1
|
||||
wadname="Freedoom: Phase 1"
|
||||
echo "$wadname selected"
|
||||
elif [ "$1" = "2" ]; then
|
||||
wad=$wad2
|
||||
wadname="Freedoom: Phase 2"
|
||||
echo "$wadname selected"
|
||||
fi
|
||||
|
||||
if [ $(command -v chocolate-doom) ]; then
|
||||
port1="chocolate-doom"
|
||||
port1name="Chocolate Doom"
|
||||
echo "Chocolate Doom detected"
|
||||
fi
|
||||
|
||||
if [ $(command -v GZDoom) ]; then
|
||||
if [ "$port1" = "" ]; then
|
||||
port1="GZDoom"
|
||||
port1name=$port1
|
||||
elif [ "$port2" = "" ]; then
|
||||
port2="GZDoom"
|
||||
port2name=$port2
|
||||
fi
|
||||
echo "GZDoom detected"
|
||||
fi
|
||||
|
||||
if [ -e $(finddir B_SYSTEM_APPS_DIRECTORY)/GZDoom/GZDoom ]; then
|
||||
if [ "$port1" = "" ]; then
|
||||
port1="$(finddir B_SYSTEM_APPS_DIRECTORY)/GZDoom/GZDoom"
|
||||
port1name="GZDoom (Legacy)"
|
||||
elif [ "$port2" = "" ]; then
|
||||
port2="$(finddir B_SYSTEM_APPS_DIRECTORY)/GZDoom/GZDoom"
|
||||
port2name="GZDoom (Legacy)"
|
||||
fi
|
||||
echo "GZDoom (Legacy) detected"
|
||||
fi
|
||||
|
||||
if [ $(command -v prboom-plus) ]; then
|
||||
if [ "$port1" = "" ]; then
|
||||
port1="prboom-plus"
|
||||
port1name="PrBoom+"
|
||||
elif [ "$port2" = "" ]; then
|
||||
port2="prboom-plus"
|
||||
port2name="PrBoom+"
|
||||
elif [ "$port3" = "" ]; then
|
||||
port3="prboom-plus"
|
||||
port3name="PrBoom+"
|
||||
fi
|
||||
echo "PrBoom+ detected"
|
||||
fi
|
||||
|
||||
if [ "$port1" = "" ]; then
|
||||
alert --stop "No Doom source port detected!"
|
||||
else
|
||||
if [ "$wadname" = "" ]; then
|
||||
askwad=$(alert --idea "Choose between Freedoom Phase 1 and Phase 2" "Phase 1" "Phase 2")
|
||||
if [ "$askwad" = "Phase 1" ]; then
|
||||
wad=$wad1
|
||||
elif [ "$askwad" = "Phase 2" ]; then
|
||||
wad=$wad2
|
||||
fi
|
||||
wadname="Freedoom: $askwad"
|
||||
echo "$wadname selected"
|
||||
fi
|
||||
if [ "$port2" = "" ]; then
|
||||
echo "Only one port detected, running it by default"
|
||||
$port1 -iwad $wad $@
|
||||
else
|
||||
askport="Multiple Doom source ports detected. Choose one to use with '$wadname'"
|
||||
if [ "$port3" = "" ]; then
|
||||
button=$(alert --idea "$askport" "$port1name" "$port2name")
|
||||
else
|
||||
button=$(alert --idea "$askport" "$port1name" "$port2name" "$port3name")
|
||||
fi
|
||||
echo "$button selected"
|
||||
if [ "$button" = "$port1name" ]; then
|
||||
$port1 -iwad $wad $@
|
||||
elif [ "$button" = "$port2name" ]; then
|
||||
$port2 -iwad $wad $@
|
||||
elif [ "$button" = "$port3name" ]; then
|
||||
$port3 -iwad $wad $@
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
62
games-fps/freedoom/freedoom-0.13.0.recipe
Normal file
62
games-fps/freedoom/freedoom-0.13.0.recipe
Normal file
@@ -0,0 +1,62 @@
|
||||
SUMMARY="Free Doom I/II game data replacement"
|
||||
DESCRIPTION="The Freedoom project aims to provide all the content needed to form a complete, entirely free/libre game \
|
||||
for the Doom engine. It is designed to be compatible with most custom levels, music, graphics \
|
||||
and other modifications (“mods”) made for the original Doom games by Doom fans and artists over the decades.
|
||||
|
||||
This package contains the Freedoom game data along with a script that will look for compatible Doom source \
|
||||
ports installed to run the single player data with. If only one is found the game will run directly, if there \
|
||||
are more installed a pop-up to select the preferred one will be shown."
|
||||
HOMEPAGE="https://freedoom.github.io/"
|
||||
COPYRIGHT="2001 - 2024 the Freedoom project"
|
||||
LICENSE="BSD (3-clause)"
|
||||
REVISION="1"
|
||||
SOURCE_URI="https://github.com/freedoom/freedoom/releases/download/v$portVersion/freedoom-$portVersion.zip"
|
||||
CHECKSUM_SHA256="3f9b264f3e3ce503b4fb7f6bdcb1f419d93c7b546f4df3e874dd878db9688f59"
|
||||
SOURCE_URI_2="https://github.com/freedoom/freedoom/releases/download/v$portVersion/freedm-$portVersion.zip"
|
||||
CHECKSUM_SHA256_2="b420f13508ef745d7b38e83d15e55e0fc0b09d9a503c96741cddd9773d43f7c9"
|
||||
SOURCE_DIR_2="freedm-$portVersion"
|
||||
ADDITIONAL_FILES="
|
||||
freedoom.rdef.in
|
||||
freedoom.sh
|
||||
"
|
||||
|
||||
ARCHITECTURES="any"
|
||||
DISABLE_SOURCE_PACKAGE="yes"
|
||||
|
||||
PROVIDES="
|
||||
freedoom = $portVersion
|
||||
"
|
||||
REQUIRES="
|
||||
engine:doom
|
||||
"
|
||||
|
||||
INSTALL()
|
||||
{
|
||||
# Pack game data
|
||||
mkdir -p $dataDir/doomdata && cp -t $dataDir/doomdata *.wad $sourceDir2/freedm.wad
|
||||
|
||||
# Pack docs
|
||||
mkdir -p $docDir && cp -t $docDir COPYING.txt CREDITS.txt CREDITS-MUSIC.txt \
|
||||
freedoom-manual-fr.pdf freedoom-manual-en.pdf freedoom-manual-es.pdf NEWS.html README.html
|
||||
|
||||
# Pack script
|
||||
mkdir -p $appsDir/Freedoom && cp $portDir/additional-files/freedoom.sh $appsDir/Freedoom
|
||||
chmod +x $appsDir/Freedoom/freedoom.sh
|
||||
|
||||
# Generate the rdef
|
||||
local MAJOR="`echo "$portVersion" | cut -d. -f1`"
|
||||
local MIDDLE="`echo "$portVersion" | cut -d. -f2`"
|
||||
local MINOR="`echo "$portVersion" | cut -d. -f3`"
|
||||
local LONG_INFO="$SUMMARY"
|
||||
sed \
|
||||
-e "s|@MAJOR@|$MAJOR|" \
|
||||
-e "s|@MIDDLE@|$MIDDLE|" \
|
||||
-e "s|@MINOR@|$MINOR|" \
|
||||
-e "s|@LONG_INFO@|$LONG_INFO|" \
|
||||
$portDir/additional-files/freedoom.rdef.in > freedoom.rdef
|
||||
|
||||
# Iconize & link script
|
||||
rc freedoom.rdef
|
||||
resattr -o $appsDir/Freedoom/freedoom.sh freedoom.rsrc
|
||||
addAppDeskbarSymlink $appsDir/Freedoom/freedoom.sh "Freedoom"
|
||||
}
|
||||
62
games-fps/hacx/additional-files/hacx.rdef.in
Normal file
62
games-fps/hacx/additional-files/hacx.rdef.in
Normal file
@@ -0,0 +1,62 @@
|
||||
resource app_version {
|
||||
major = @MAJOR@,
|
||||
middle = @MIDDLE@,
|
||||
minor = 0,
|
||||
|
||||
short_info = "Hacx: Twitch 'n Kill",
|
||||
long_info = "@LONG_INFO@"
|
||||
};
|
||||
|
||||
resource large_icon array {
|
||||
$"D0B0AAAAA98383835AD9D9D95A5AD9D95A5A83835AD9D95A5A838383A9AAD007"
|
||||
$"D0B0AAAA898383835AD9D9D95A5AD95AD9D95A5AD9D9D9D95A838383A9AAB007"
|
||||
$"0709B0AA838383835AD9D9D95A835A5AD9D95AD9D9D9D9D95A838383A9AAB007"
|
||||
$"0707D0AA898383835A5AD9D95A835A83D9835AD9D9D9D9D95A838383A9AAB007"
|
||||
$"D602D7B0A90C0F115A5A5A83838383835A835AD9D9D9D95A5A11100D0CAAB000"
|
||||
$"0605080A0907090989131383838389898383835A5A821313890B0907090B0804"
|
||||
$"04040808050000000C0F0EA98989AAAA83A9838383830D0D0C04010306080504"
|
||||
$"00000000000000000000000B1111B0B0B0B0AA0F100C00000000030606030000"
|
||||
$"0000000000000000000003060605080F13100904000000000004080B0B090600"
|
||||
$"05020000000001030708090B0B090709100A050200010406070AAF0C09060300"
|
||||
$"D005D705030104070AB00CAF0B0909AA83D0050202040709B0AF0E0B08D0D005"
|
||||
$"D0B0B0B0D703080AB00E0EB007D6AA5AD9AAD00504080AB0AF0EAF08B0AAAAB0"
|
||||
$"B0AA83A9AAD601040A0A0A0706B0A95AD983AAD0D70205070A0A0809898383B0"
|
||||
$"D0AA838383AAD0D6050509B0B0AA8383D983A9AAAAB0D0070808B089838383AA"
|
||||
$"D0AA83838389AAB0D0D0AAA9A9838383D98383898389AAD0D0B0AA835A8383AA"
|
||||
$"07B0AA89838383AAAAAA838383838383D98383838383AAB0B0AA8383838383AA"
|
||||
$"D6B0B0AAA9838383835AD95A83838383D9838383835AD98383838383A9AAAAB0"
|
||||
$"03D0B0B0AAA9A983835AD98283838383D983838383835A8383A9A9A9AAAAB008"
|
||||
$"000508D0B0AAA9898382628383838383D98383838382828289A9AAAAAAB00905"
|
||||
$"0000D707D0AAA910131482838383835AD9D9838383161682100EAAAAB0D0D600"
|
||||
$"D7D009D0090C891315821689AAAAAA8383A9AAAA8962168289100CB009070707"
|
||||
$"D0D00B0AB00D89138213828289B0B0AAAAB0B0AA8916161489A90CB009D0D0D0"
|
||||
$"D0B00EA90B0D89891413138212AFD0D0D0D0B0AA8982828910A90D0B0AB0B009"
|
||||
$"D0A910100E0D1089121212131310D0D6D6D0AAAA89898910A9A9A9A9AFA9B00B"
|
||||
$"0AAFA910A90E10A9090BAF1089890CD6CACAAAA9A9A9A9A9A9A989A9A9A9AF0B"
|
||||
$"09B0A910A9A913A9D0B0B0B0AF0CB0D1D030D0AACACAD0D00CAF89A9A90E0CB0"
|
||||
$"FF0AA9A90EA91410D0B0AFA9A9A9B0D0B0AAA9AACAD1D0D0D0A989A9AFAF0BD0"
|
||||
$"FFFF0AA9A9A98912B0A989131312891010891289AAD0B00BCAA989A9AFB00BFF"
|
||||
$"FFFFFFD0B00D8910A9121482161616828282828215131210CAA9A9A9B00AFFFF"
|
||||
$"FFFFFFFFD0AF10A989141582161615110F111314141413A9AAA9A90C0BFFFFFF"
|
||||
$"FFFFFFFF080BA9A9A91482828215820C0C0C1213131389A9AAA9A9B009FFFFFF"
|
||||
$"FFFFFFFF03D6B0AAA9898989128215070F0B14828989A9CAAAA9B0D0D7FFFFFF"
|
||||
};
|
||||
|
||||
resource mini_icon array {
|
||||
$"D0AA83835AD95AD9D95AD9D95A83AAD0"
|
||||
$"D0AA83835AD95A5AD95AD9D95A83AAB0"
|
||||
$"05090B0D82828383835AD982890B0BD6"
|
||||
$"030602000A0C10AAAA89890A07040603"
|
||||
$"030000010508080A10060003D60B0903"
|
||||
$"D0D00407B0AF09A989D705090C0CB0D0"
|
||||
$"B083AA060809B0835AAAD00709B083A9"
|
||||
$"B08383AAB08383835A8383B0B08383A9"
|
||||
$"D6B0A983835A83835A8383838383AAB0"
|
||||
$"02D0B089828283835A838282A9AAB0D6"
|
||||
$"D0B00B898282A9AAA9AA8282100B08D0"
|
||||
$"B0A90D89131389D0D0AA8989A9A9B00A"
|
||||
$"0BA9A910D0AFA9D0D0AAA9B0AF10A90B"
|
||||
$"FFA9A912B01089A9A9A9CAD0AA890C0A"
|
||||
$"FFFFB0898915168213828289A9A90BFF"
|
||||
$"FFFF08A9891382100D1389A9AAB0FFFF"
|
||||
};
|
||||
76
games-fps/hacx/additional-files/hacx.sh
Normal file
76
games-fps/hacx/additional-files/hacx.sh
Normal file
@@ -0,0 +1,76 @@
|
||||
#!/bin/bash
|
||||
|
||||
wad="$(finddir B_SYSTEM_DATA_DIRECTORY)/doomdata/hacx.wad"
|
||||
wadname="Hacx: Twitch 'n Kill"
|
||||
|
||||
if [ ! -e $wad ]; then
|
||||
wad="$(finddir B_USER_DATA_DIRECTORY)/doomdata/hacx.wad"
|
||||
if [ ! -e $wad ]; then
|
||||
alert --stop "Game data not found!"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ $(command -v chocolate-doom) ]; then
|
||||
port1="chocolate-doom"
|
||||
port1name="Chocolate Doom"
|
||||
echo "Chocolate Doom detected"
|
||||
fi
|
||||
|
||||
if [ $(command -v GZDoom) ]; then
|
||||
if [ "$port1" = "" ]; then
|
||||
port1="GZDoom"
|
||||
port1name=$port1
|
||||
elif [ "$port2" = "" ]; then
|
||||
port2="GZDoom"
|
||||
port2name=$port2
|
||||
fi
|
||||
echo "GZDoom detected"
|
||||
fi
|
||||
|
||||
if [ -e $(finddir B_SYSTEM_APPS_DIRECTORY)/GZDoom/GZDoom ]; then
|
||||
if [ "$port1" = "" ]; then
|
||||
port1="$(finddir B_SYSTEM_APPS_DIRECTORY)/GZDoom/GZDoom"
|
||||
port1name="GZDoom (Legacy)"
|
||||
elif [ "$port2" = "" ]; then
|
||||
port2="$(finddir B_SYSTEM_APPS_DIRECTORY)/GZDoom/GZDoom"
|
||||
port2name="GZDoom (Legacy)"
|
||||
fi
|
||||
echo "GZDoom (Legacy) detected"
|
||||
fi
|
||||
|
||||
if [ $(command -v prboom-plus) ]; then
|
||||
if [ "$port1" = "" ]; then
|
||||
port1="prboom-plus"
|
||||
port1name="PrBoom+"
|
||||
elif [ "$port2" = "" ]; then
|
||||
port2="prboom-plus"
|
||||
port2name="PrBoom+"
|
||||
elif [ "$port3" = "" ]; then
|
||||
port3="prboom-plus"
|
||||
port3name="PrBoom+"
|
||||
fi
|
||||
echo "PrBoom+ detected"
|
||||
fi
|
||||
|
||||
if [ "$port1" = "" ]; then
|
||||
alert --stop "No Doom source port detected!"
|
||||
elif [ "$port2" = "" ]; then
|
||||
echo "Only one port detected, running it by default"
|
||||
$port1 -iwad $wad $@
|
||||
else
|
||||
askport="Multiple Doom source ports detected. Choose one to use with '$wadname'"
|
||||
if [ "$port3" = "" ]; then
|
||||
button=$(alert --idea "$askport" "$port1name" "$port2name")
|
||||
else
|
||||
button=$(alert --idea "$askport" "$port1name" "$port2name" "$port3name")
|
||||
fi
|
||||
echo "$button selected"
|
||||
if [ "$button" = "$port1name" ]; then
|
||||
$port1 -iwad $wad $@
|
||||
elif [ "$button" = "$port2name" ]; then
|
||||
$port2 -iwad $wad $@
|
||||
elif [ "$button" = "$port3name" ]; then
|
||||
$port3 -iwad $wad $@
|
||||
fi
|
||||
fi
|
||||
58
games-fps/hacx/hacx-1.2.recipe
Normal file
58
games-fps/hacx/hacx-1.2.recipe
Normal file
@@ -0,0 +1,58 @@
|
||||
SUMMARY="Old-school FPS game for the Doom engine"
|
||||
DESCRIPTION="Hacx is an action filled Doom Engine game commercially released in 1997 then re-released in 2000 as freeware.
|
||||
The story is set in the near future, where you'll find yourself engrossed in an international blastfest.
|
||||
Wield weapons of mass destruction from China to Paris to combat a devilish artificial intelligence and its hordes of loyal fanatics.
|
||||
Can you handle it, hacker?
|
||||
|
||||
This package contains the Hacx game data along with a script that will look for compatible \
|
||||
Doom source ports installed. If only one is found the game will run directly, \
|
||||
if there are more installed a pop-up to select the preferred one will be shown."
|
||||
HOMEPAGE="http://drnostromo.com/hacx/"
|
||||
COPYRIGHT="1997 - 2010 Banjo Software Inc. & contributors"
|
||||
LICENSE="Public Domain"
|
||||
REVISION="1"
|
||||
SOURCE_URI="http://drnostromo.com/hacx/files/hacx12.zip"
|
||||
CHECKSUM_SHA256="70d25e8f4b48906759db32213927859a99b3b045d3291d468357b225d64cbf8b"
|
||||
SOURCE_DIR=""
|
||||
ADDITIONAL_FILES="
|
||||
hacx.rdef.in
|
||||
hacx.sh
|
||||
"
|
||||
|
||||
ARCHITECTURES="any"
|
||||
DISABLE_SOURCE_PACKAGE="yes"
|
||||
|
||||
PROVIDES="
|
||||
hacx = $portVersion
|
||||
"
|
||||
REQUIRES="
|
||||
engine:doom
|
||||
"
|
||||
|
||||
INSTALL()
|
||||
{
|
||||
# Pack game data
|
||||
mkdir -p $dataDir/doomdata && cp HACX.WAD $dataDir/doomdata/hacx.wad
|
||||
|
||||
# Pack docs
|
||||
mkdir -p $docDir && cp HACX.TXT $docDir/hacx.txt
|
||||
|
||||
# Pack script
|
||||
mkdir -p $appsDir/Hacx && cp $portDir/additional-files/hacx.sh $appsDir/Hacx
|
||||
chmod +x $appsDir/Hacx/hacx.sh
|
||||
|
||||
# Generate the rdef
|
||||
local MAJOR="`echo "$portVersion" | cut -b1`"
|
||||
local MIDDLE="`echo "$portVersion" | cut -b3`"
|
||||
local LONG_INFO="$SUMMARY"
|
||||
sed \
|
||||
-e "s|@MAJOR@|$MAJOR|" \
|
||||
-e "s|@MIDDLE@|$MIDDLE|" \
|
||||
-e "s|@LONG_INFO@|$LONG_INFO|" \
|
||||
$portDir/additional-files/hacx.rdef.in > hacx.rdef
|
||||
|
||||
# Iconize & link script
|
||||
rc hacx.rdef
|
||||
resattr -o $appsDir/Hacx/hacx.sh hacx.rsrc
|
||||
addAppDeskbarSymlink $appsDir/Hacx/hacx.sh "Hacx: Twitch 'n Kill"
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
resource app_flags B_SINGLE_LAUNCH | B_ARGV_ONLY;
|
||||
resource app_flags B_MULTIPLE_LAUNCH;
|
||||
|
||||
resource app_version {
|
||||
major = @MAJOR@,
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 9af8b16bfbb4bb2c96201671d6add490313c4bb6 Mon Sep 17 00:00:00 2001
|
||||
From e82109d5f948601b6577b163dc7621b70864b41e Mon Sep 17 00:00:00 2001
|
||||
From: Peppersawce <michaelpeppers89@yahoo.it>
|
||||
Date: Thu, 31 Oct 2024 23:41:45 +0100
|
||||
Subject: Change default midi + soundfont paths for 2.6.66 + better path lookup
|
||||
Subject: Change default midi + soundfont paths for 2.6.66
|
||||
|
||||
|
||||
diff --git a/prboom2/src/m_misc.c b/prboom2/src/m_misc.c
|
||||
@@ -14,19 +14,26 @@ index dc35ac9..6b62fca 100644
|
||||
#else
|
||||
- {"snd_midiplayer",{NULL, &snd_midiplayer},{0,"sdl"},UL,UL,def_str,ss_none},
|
||||
- {"snd_soundfont",{NULL, &snd_soundfont},{0,"/usr/share/sounds/sf3/default-GM.sf3"},UL,UL,def_str,ss_none}, // soundfont name for synths that support it
|
||||
+ {"snd_midiplayer",{NULL, &snd_midiplayer},{0,"opl2"},UL,UL,def_str,ss_none},
|
||||
+ {"snd_midiplayer",{NULL, &snd_midiplayer},{0,"fluidsynth"},UL,UL,def_str,ss_none},
|
||||
+ {"snd_soundfont",{NULL, &snd_soundfont},{0,"/boot/system/data/synth/TimGM6mb.sf2"},UL,UL,def_str,ss_none}, // soundfont name for synths that support it
|
||||
#endif
|
||||
{"snd_mididev",{NULL, &snd_mididev},{0,""},UL,UL,def_str,ss_none}, // midi device to use for portmidiplayer and alsaplayer
|
||||
{"lowpass_filter",{&lowpass_filter},{0},0,1,
|
||||
--
|
||||
2.45.2
|
||||
2.48.1
|
||||
|
||||
|
||||
From e609c3f15996cd15368d5f2ca25ebb79779046f3 Mon Sep 17 00:00:00 2001
|
||||
From: Peppersawce <michaelpeppers89@yahoo.it>
|
||||
Date: Tue, 1 Apr 2025 22:45:28 +0200
|
||||
Subject: Better path lookup, look for installed doom data packages
|
||||
|
||||
|
||||
diff --git a/prboom2/src/SDL/i_system.c b/prboom2/src/SDL/i_system.c
|
||||
index 2094647..c0e9163 100644
|
||||
index 2094647..f2850bd 100644
|
||||
--- a/prboom2/src/SDL/i_system.c
|
||||
+++ b/prboom2/src/SDL/i_system.c
|
||||
@@ -442,10 +442,8 @@ char* I_FindFileInternal(const char* wfname, const char* ext, dboolean isStatic)
|
||||
@@ -442,10 +442,11 @@ char* I_FindFileInternal(const char* wfname, const char* ext, dboolean isStatic)
|
||||
{DOOMWADDIR}, // build-time configured DOOMWADDIR
|
||||
{NULL, "doom", "HOME"}, // ~/doom
|
||||
{NULL, NULL, "HOME"}, // ~
|
||||
@@ -34,11 +41,14 @@ index 2094647..c0e9163 100644
|
||||
- {"/usr/share/games/doom"},
|
||||
- {"/usr/local/share/doom"},
|
||||
- {"/usr/share/doom"},
|
||||
+ {"/boot/home/config/non-packaged/data/doom"},
|
||||
+ {"/boot/home/config/non-packaged/data/doomdata"},
|
||||
+ {NULL, "config/non-packaged/data/doom", "HOME"},
|
||||
+ {NULL, "config/non-packaged/data/doomdata", "HOME"},
|
||||
+ {"/boot/system/non-packaged/data/doomdata"},
|
||||
+ {"/boot/system/data/doomdata"}, // Doom data packages
|
||||
+ {NULL, "config/data/doomdata", "HOME"}, // Doom data (user) packages)
|
||||
}, *search;
|
||||
|
||||
static size_t num_search;
|
||||
--
|
||||
2.45.2
|
||||
2.48.1
|
||||
|
||||
|
||||
@@ -1,18 +1,20 @@
|
||||
SUMMARY="Enhanced clone of the classic first-person shooter Doom"
|
||||
DESCRIPTION="PrBoom+ is a Doom source port developed from the original PrBoom project by Andrey Budko.
|
||||
|
||||
The binaries will look for .wad files (in lowercase) in:
|
||||
The binaries will look for .wad files in:
|
||||
* ~/config/non-packaged/data/prboom-plus
|
||||
* ~/config/non-packaged/data/doomdata
|
||||
* ~/config/non-packaged/data/doom
|
||||
* ~/config/settings/prboom-plus
|
||||
* ~/doom
|
||||
* /boot/system/non-packaged/data/doomdata
|
||||
* Any compatible game data package
|
||||
The binaries can be also used via command-line with the -iwad command.
|
||||
Example: 'prboom-plus -iwad ~/config/non-packaged/data/doom/doom.wad'"
|
||||
Example: 'prboom-plus -iwad /path/to/doom/doom.wad'"
|
||||
HOMEPAGE="https://github.com/coelckers/prboom-plus"
|
||||
COPYRIGHT="2016-2023 Andrey Budko et al."
|
||||
LICENSE="GNU GPL v2"
|
||||
REVISION="3"
|
||||
REVISION="4"
|
||||
SOURCE_URI="https://github.com/coelckers/prboom-plus/archive/v$portVersion.tar.gz"
|
||||
CHECKSUM_SHA256="4b647b4b14c3fac00711e6bf19f996bbfe37754a3b9bb5be6791f0c3fd993438"
|
||||
SOURCE_DIR="prboom-plus-$portVersion"
|
||||
@@ -26,14 +28,15 @@ PROVIDES="
|
||||
prboom_plus$secondaryArchSuffix = $portVersion
|
||||
cmd:prboom_plus = $portVersion
|
||||
cmd:prboom_plus_game_server = $portVersion
|
||||
engine:doom
|
||||
"
|
||||
REQUIRES="
|
||||
haiku$secondaryArchSuffix
|
||||
# lib:libdumb_0.9.3$secondaryArchSuffix # Optional, required by portmidi?
|
||||
# lib:libfluidsynth$secondaryArchSuffix # Optional, for Fluidsynth MIDI
|
||||
lib:libdumb_0.9.3$secondaryArchSuffix # Optional, used with portmidi
|
||||
lib:libfluidsynth$secondaryArchSuffix # Optional, for Fluidsynth MIDI
|
||||
lib:libmad$secondaryArchSuffix
|
||||
lib:libpcreposix$secondaryArchSuffix
|
||||
# lib:libportmidi$secondaryArchSuffix # Optional, related MIDI player doesn't seem to work
|
||||
lib:libportmidi$secondaryArchSuffix # Optional, MIDI player
|
||||
lib:libSDL2_2.0$secondaryArchSuffix
|
||||
lib:libSDL2_image_2.0$secondaryArchSuffix
|
||||
lib:libSDL2_mixer_2.0$secondaryArchSuffix
|
||||
@@ -44,12 +47,12 @@ REQUIRES="
|
||||
|
||||
BUILD_REQUIRES="
|
||||
haiku${secondaryArchSuffix}_devel
|
||||
# devel:libdumb$secondaryArchSuffix # Optional, required by portmidi?
|
||||
# devel:libfluidsynth$secondaryArchSuffix # Optional, for Fluidsynth MIDI, not working in-game
|
||||
# devel:libGL$secondaryArchSuffix # Optional? Seems unused
|
||||
devel:libmad$secondaryArchSuffix # Seems to not work, makes non-opl2 MIDI fail
|
||||
devel:libdumb$secondaryArchSuffix # Optional, used with portmidi
|
||||
devel:libfluidsynth$secondaryArchSuffix # Optional, for Fluidsynth MIDI
|
||||
devel:libGL$secondaryArchSuffix # Optional, used during build, unsure if it affects the binary in any way
|
||||
devel:libmad$secondaryArchSuffix
|
||||
devel:libpcreposix$secondaryArchSuffix
|
||||
# devel:libportmidi$secondaryArchSuffix # Optional, MIDI player, not working in-game
|
||||
devel:libportmidi$secondaryArchSuffix # Optional, MIDI player
|
||||
devel:libSDL2$secondaryArchSuffix
|
||||
devel:libSDL2_image$secondaryArchSuffix
|
||||
devel:libSDL2_mixer$secondaryArchSuffix
|
||||
@@ -65,29 +68,22 @@ BUILD_PREREQUIRES="
|
||||
cmd:pkg_config$secondaryArchSuffix
|
||||
"
|
||||
|
||||
defineDebugInfoPackage prboom_plus$secondaryArchSuffix \
|
||||
$prefix/bin/prboom-plus \
|
||||
$prefix/bin/prboom-plus-game-server
|
||||
|
||||
BUILD()
|
||||
{
|
||||
nonpackdatadir=$(finddir B_USER_NONPACKAGED_DATA_DIRECTORY)
|
||||
|
||||
mkdir -p build && cd build
|
||||
|
||||
cmake ../prboom2 $cmakeDirArgs \
|
||||
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
||||
cmake -Bbuild -S./prboom2 $cmakeDirArgs \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_INSTALL_BINDIR="$prefix/bin" \
|
||||
-DPRBOOMDATADIR="$dataDir/prboom-plus" \
|
||||
-DDOOMWADDIR="$nonpackdatadir/prboom-plus"
|
||||
|
||||
make $jobArgs
|
||||
make -C build $jobArgs
|
||||
}
|
||||
|
||||
INSTALL()
|
||||
{
|
||||
cd build
|
||||
make install
|
||||
make -C build install
|
||||
|
||||
# Generate the rdef
|
||||
local MAJOR="`echo "$portVersion" | cut -b1`"
|
||||
|
||||
Reference in New Issue
Block a user