diff --git a/games-fps/chexquest3/additional-files/chexquest3.rdef.in b/games-fps/chexquest3/additional-files/chexquest3.rdef.in new file mode 100644 index 000000000..96b351f24 --- /dev/null +++ b/games-fps/chexquest3/additional-files/chexquest3.rdef.in @@ -0,0 +1,62 @@ +resource app_version { + major = @MAJOR@, + middle = @MIDDLE@, + minor = 0, + + short_info = "Chex Quest 3", + long_info = "@LONG_INFO@" +}; + +resource large_icon array { + $"FFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFF" + $"FFFFFFFFFFFFFF0000868686868686868686860000595959595959590000FFFF" + $"FFFFFFFFFFFF00868686ACACACACACACACACAC0059595959595959595900FFFF" + $"FFFFFFFFFF008686ACACACACACACACACACACAC0059595900000059595900EFFF" + $"FFFFFFFF008686ACACACACACACACACACACACAC00000000EFEF0059595900EFFF" + $"FFFFFF008686ACACACACACACACACACACACACACACACEF0000000059595900EFFF" + $"FFFF008686ACACACACACACACACACACACACACACACAC0059595959595900EFEFFF" + $"FF008686ACACACACACACACACACACACACACACACACAC0059595959595900EFEFFF" + $"FF0086ACACACACACACACACACACACACACACACACACACAC0000000059595900FFFF" + $"008686ACACACACACACACACACACACACACACACAC00000000EFEF0059595900FFFF" + $"0086ACACACACACACACACACACACACACACACACAC0059595900000059595900EFFF" + $"0086ACACACACACACACACACACACACACACACACAC0059595959595959595900EFFF" + $"0086ACACACACACACACACACACD3D3D3D386ACAC0000595959595959590000EFFF" + $"0086ACACACACACACACACACD3000000000086ACAC000000000000000000EFEFFF" + $"0086ACACACACACACACACD3000000FFFF0086ACACACEFEFEFEFEFEFEFEFEFFFFF" + $"0086ACACACACACACACACD300000000000086ACACACACACACACACACD30000FFFF" + $"0086ACACACACACACACACD30000E5E5E50086ACACACACACACACACACD30000FFFF" + $"0086ACACACACACACACACAC000000E5FAFA00ACACACACACACACACACD30000FFFF" + $"0086ACACACACACACACACAC86000000E5FAFA00ACACACACACACACACD30000FFFF" + $"0086ACACACACACACACACACAC86868600FAFA6400ACACACACACACACD30000FFFF" + $"0000ACACACACACACACACACACACACACAC00FAFA6400ACACACACACAC000000FFFF" + $"FF0086ACACACACACACACACACACACAC0000FAFAFA8A00ACACACACD3000000FFFF" + $"FF0000ACACACACACACACACACACAC00E5E5FAFAFAFA8A00ACACD3000000FFFFFF" + $"FFFF0000ACACACACACACACACACACAC00E5E5FAFA64648A00AC00000000FFFFFF" + $"FFFFFF0000ACACACACACACACACACACAC00E5E5FA640000D300000000FFFFFFFF" + $"FFFFFFFF0000ACACACACACACACACACACAC00E5FAFA00AC00000000FFFFFFFFFF" + $"FFFFFFFFFF0000ACACACACACACACACACACAC00E5FA6400000000FFFFFFFFFFFF" + $"FFFFFFFFFFFF000000ACACACACACACACACACAC00FAFA640000FFFFFFFFFFFFFF" + $"FFFFFFFFFFFFFFFF0000000000000000000000000064FA8A00FFFFFFFFFFFFFF" + $"FFFFFFFFFFFFFFFFFF0000000000000000000000000064FA8A00FFFFFFFFFFFF" + $"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0064FA8A00FFFFFFFFFF" + $"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FFFFFFFFFF" +}; + +resource mini_icon array { + $"FFFFFFFFAEADADADADAEAFA8A8A800FF" + $"FFFFFF8786ACACACACAD5981A859A8FF" + $"FFFF8786ACACACACACADCEF6F659A8EF" + $"FF8786ACACACACACACACAD595959F0EF" + $"AE86ACACACACACACACADADF6F659A8FF" + $"ADACACACACACACACACAD5981A859A8EF" + $"ADACACACACACD4D487ADAFA8A8A8F6EF" + $"ADACACACACD40000ADACADADADCEF0FF" + $"ADACACACACD48AFB13ACACACACAD00FF" + $"ADACACACAC86AD13FA10ACACACAD00FF" + $"0086ACACACACACAD65FAAEACACD400FF" + $"FFD4ACACACACAC11FBFA64AEAD0000FF" + $"FFFFD4ACACACACAC11FB8BD40000FFFF" + $"FFFFFFD4ADACACACAC11FAB100FFFFFF" + $"FFFFFFFF000000000000B164B1FFFFFF" + $"FFFFFFFFFFFFFFFFFFFFFFAA8B00FFFF" +}; diff --git a/games-fps/chexquest3/additional-files/chexquest3.sh b/games-fps/chexquest3/additional-files/chexquest3.sh new file mode 100644 index 000000000..4ad23f56d --- /dev/null +++ b/games-fps/chexquest3/additional-files/chexquest3.sh @@ -0,0 +1,28 @@ +#!/bin/bash + +wad="$(finddir B_SYSTEM_DATA_DIRECTORY)/gzdoom/chex3.wad" +cmd="" + +if [ ! -e $wad ]; then + wad="$(finddir B_USER_DATA_DIRECTORY)/gzdoom/chex3.wad" + if [ ! -e $wad ]; then + alert --stop "Game data not found!" + exit 1 + fi +fi + +if [ $(command -v GZDoom) ]; then + cmd="GZDoom" + echo "GZDoom v4 detected" +elif [ -e $(finddir B_SYSTEM_APPS_DIRECTORY)/GZDoom/GZDoom ]; then + cmd="$(finddir B_SYSTEM_APPS_DIRECTORY)/GZDoom/GZDoom" + echo "Legacy GZDoom found in system" +elif [ -e $(finddir B_USER_APPS_DIRECTORY)/GZDoom/GZDoom ]; then + cmd="$(finddir B_USER_APPS_DIRECTORY)/GZDoom/GZDoom" + echo "Legacy GZDoom found in home" +else + alert --stop "GZDoom binary not found!" + exit 1 +fi + +$cmd -iwad $wad $@ diff --git a/games-fps/chexquest3/chexquest3-1.4.recipe b/games-fps/chexquest3/chexquest3-1.4.recipe new file mode 100644 index 000000000..2ab204863 --- /dev/null +++ b/games-fps/chexquest3/chexquest3-1.4.recipe @@ -0,0 +1,61 @@ +SUMMARY="ZDoom-based sequel of the 1996 non-violent cereal-based FPS game" +DESCRIPTION="Chex Quest 3 is a 2008 computer game which runs on the ZDoom engine. +It was developed by Charles Jacobi, who was the art director and lead artist \ +for Digital Café and worked on the original Chex Quest. + +Chex Quest 3 contains slightly updated versions of the maps from Chex Quest (episode 1) \ +and Chex Quest 2 (episode 2), in addition to its new maps. + +This package requires GZDoom to run." +HOMEPAGE="https://www.chexquest3.com/" +COPYRIGHT=" + 1996 - 1997 Digital Café, General Mills + 2008 - 2009 Charles Jacobi & Contributors + " +LICENSE="Public Domain" +REVISION="1" +SOURCE_URI="https://www.chexquest3.com/downloads/ChexQuest3_v1.4.zip" +CHECKSUM_SHA256="29abab521cf9de4cc561afb84cf804793d90f1cf40f6384e19b34f72923dd446" +SOURCE_DIR="" +ADDITIONAL_FILES=" + chexquest3.rdef.in + chexquest3.sh + " + +ARCHITECTURES="any" +DISABLE_SOURCE_PACKAGE="yes" + +PROVIDES=" + chexquest3 = $portVersion + " +REQUIRES=" + app:GZDoom + " + +INSTALL() +{ + # Pack game data + mkdir -p $dataDir/gzdoom && cp chex3.wad $dataDir/gzdoom + + # Pack docs + mkdir -p $docDir && cp -t $docDir *.txt + + # Pack script + mkdir -p $appsDir/Chexquest3 && cp $portDir/additional-files/chexquest3.sh $appsDir/Chexquest3 + chmod +x $appsDir/Chexquest3/chexquest3.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/chexquest3.rdef.in > chexquest3.rdef + + # Iconize & link script + rc chexquest3.rdef + resattr -o $appsDir/Chexquest3/chexquest3.sh chexquest3.rsrc + addAppDeskbarSymlink $appsDir/Chexquest3/chexquest3.sh "Chex Quest 3" +}