From 91624fa7eec354b844355691f74540fe60172b5b Mon Sep 17 00:00:00 2001 From: Storm Dragon Date: Tue, 23 Apr 2024 01:56:17 -0400 Subject: [PATCH 01/23] Custom scripts for testing new addons. --- .scripts/TobyCustom/' | 124 ++++++++++++++++++ .scripts/TobyCustom/Brutal_Death_Match.sh | 25 ++-- .../Project_Brutality_Operation_MDK.sh | 30 +++-- .../Project_Brutality_Operation_MDK.sh.bak | 51 +++++++ .../Project_Brutality_Toby_Deluxe.sh | 32 +++-- .scripts/TobyCustom/StarWars.sh | 1 + 6 files changed, 227 insertions(+), 36 deletions(-) create mode 100644 .scripts/TobyCustom/' create mode 100755 .scripts/TobyCustom/Project_Brutality_Operation_MDK.sh.bak diff --git a/.scripts/TobyCustom/' b/.scripts/TobyCustom/' new file mode 100644 index 0000000..d056ea6 --- /dev/null +++ b/.scripts/TobyCustom/' @@ -0,0 +1,124 @@ +#!/usr/bin/env bash + +pushd "$doomPath" + +# Set up the pk3 and wad files +gameOption=( + "$(find /usr/share/games/ -name 'Project_Brutality-master.pk3')" + "${doomPath}/TobyAccMod_V${tobyVersion}.pk3" + "${doomPath}/PB-Toby-Compatibility-Addon.pk3" + "${doomPath}/Toby-Universal-Pickup-Beacon-Prototype.pk3" + "${doomPath}/TobyDeathArena_V1-0.wad" +) + +# Death match setup +ipAddress="$(dialog --backtitle "Deathmatch Options" \ + --clear \ + --no-tags \ + --ok-label "Join" \ + --cancel-label "Exit" \ + --extra-button \ + --extra-label "Host" \ + --inputbox "Enter ip or URL, required for join." -1 -1 --stdout)" +buttonCode=$? +[[ $buttonCode -eq 1 ]] && exit 0 +if [[ $buttonCode -eq 0 ]]; then + if [[ "${#ipAddress}" -lt 3 ]]; then + dialog --backtitle "Deathmatch" --clear --msgbox "No ip address or URL given." -1 -1 --stdout + exit 1 + fi + flags=('-join' "${ipAddress}") +else + # List of maps included: + maps=( + "1" "Com Station (2-4 players)" + "2" "Warehouse (2-4 players)" + "3" "Sector 3 (2-4 players)" + "4" "Dungeon of Doom (2-4 players)" + "5" "Ocean Fortress (2-4 players)" + "6" "Water Treatment Facility (2-4 players)" + "7" "Phobos Base Site 4 (2-4 players)" + "8" "Hangar Bay 18 (2-4 players)") + # Array of how many players a given map supports in dialog rangebox syntax + declare -a mapPlayers=( + [1]="2 4" + [2]="2 4" + [3]="2 4" + [4]="2 4" + [5]="2 4" + [6]="2 4" + [7]="2 4" + [8]="2 4") + map="$(dialog --backtitle "Select Map" \ + --clear \ + --no-tags \ + --cancel-label "Exit" \ + --ok-label "Next" \ + --menu "Please select one" 0 0 0 "${maps[@]}" --stdout)" + fraglimit="$(dialog --backtitle "Fraglimit" \ + --clear \ + --ok-label "Next" \ + --cancel-label "Exit" \ + --rangebox "Select Fraglimit" -1 -1 1 500 20 --stdout)" + [[ $? -eq 1 ]] && exit 0 + # Get ip address + yourIpAddress="$(curl -4s https://icanhazip.com)" + players="$(dialog --backtitle "Host Deathmatch Game" \ + --clear \ + --ok-label "Next" \ + --cancel-label "Exit" \ + --rangebox "Select number of players. Remember to give them your IP address: ${yourIpAddress}" -1 -1 ${mapPlayers[$map]} --stdout)" + [[ $? -eq 1 ]] && exit 0 + skillLevel="$(dialog --backtitle "Host Deathmatch Game" \ + --clear \ + --ok-label "Start" \ + --cancel-label "Exit" \ + --extra-button \ + --extra-label "Bots Only" \ + --rangebox "Select difficulty. 1 easiest, 5 hardest." -1 -1 1 5 3 --stdout)" + code=$? + [[ $code -eq 1 ]] && exit 0 + if [[ $code -eq 3 ]]; then + players=1 + dialog --backtitle "Preparing to Launch" \ + --msgbox "When the game starts, press \` to open the console. Type addbot, press enter. Repeat addbot for as many bots as you would like. Press \` again to close the console." -1 -1 --stdout + fi + flags=( + '-host' "${players}" + '-skill' "${skillLevel}" + '-deathmatch' + '+set' 'sv_cheats' '1' + '+fraglimit' "$fraglimit" + '+dmflags' '16384' '+dmflags' '4' '+dmflags' '128' '+dmflags' '4096' + '+dmflags2' '512' '+dmflags2' '1024' + '-extratic' '-dup' '3' + '-warp' "$map" + ) +fi + +# Check for and include if present a wad. Some people may not have it. +if [[ -e "${doomPath}/DoomMetalVol7.wad" ]]; then + gameOption+=" DoomMetalVol7.wad" +elif [[ -e "${doomPath}/DoomMetalVol6.wad" ]]; then + gameOption+=" DoomMetalVol6.wad" +fi + +# Extend the search for new messages to be read. +grepStrings+=('-e' ' died.' + '-e' 'Ectoplasmic Surge!' + '-e' ' has been ' + '-e' '^(Armor|Health) boosted!' + '-e' 'Lesser demon energy' + '-e' '^Found ' + '-e' 'Got the ' + '-e' 'Picked up ' + '-e' '^(Mega|Soul)sphere$' + '-e' '^Took ' + '-e' ' was .*(\.|!)' + '-e' '^Vanguard of the gods!$' + '-e' "You've found " + '-e' 'You (collected|got|found|picked up) ') + +# Launch the game and pipe things to be spoken through speech-dispatcher. +# This also leaves the console output intact for people who may want to read it. +exec stdbuf -oL ${gzdoom} ${gameOption[@]} "${flags[@]}" | while IFS= read -r l ; do echo "$l" | { grep "${grepStrings[@]}" | grep "${antiGrepStrings[@]}" | sed "${sedStrings[@]}" | spd-say -e ${spd_module} ${spd_pitch} ${spd_rate} ${spd_voice} ${spd_volume} -- > /dev/null 2>&1; }; echo "$l";done diff --git a/.scripts/TobyCustom/Brutal_Death_Match.sh b/.scripts/TobyCustom/Brutal_Death_Match.sh index 0f32e48..0b52f8e 100755 --- a/.scripts/TobyCustom/Brutal_Death_Match.sh +++ b/.scripts/TobyCustom/Brutal_Death_Match.sh @@ -2,17 +2,12 @@ pushd "$doomPath" -# Add all the TobyDoom stuff we need, exclude things we do not. -mapfile -t addons < <(find "${doomPath}/Addons/" -type f -iname "TobyV${tobyVersion%%-*}_*" \ - -not -iname "TobyV${tobyVersion%%-*}_Decorations.pk3" \ - -not -iname "TobyV${tobyVersion%%-*}_Monsters.pk3" -) - # Set up the pk3 and wad files gameOption=( "$(find /usr/share/games/ -name 'Project_Brutality-master.pk3')" "${doomPath}/TobyAccMod_V${tobyVersion}.pk3" - ${addons[@]} + "${doomPath}/PB-Toby-Compatibility-Addon.pk3" + "${doomPath}/Toby-Universal-Pickup-Beacon-Prototype.pk3" "${doomPath}/TobyDeathArena_V1-0.wad" ) @@ -109,15 +104,21 @@ elif [[ -e "${doomPath}/DoomMetalVol6.wad" ]]; then fi # Extend the search for new messages to be read. -grepStrings+=('-e' 'New PDA Entry:' - '-e' ' died.' +grepStrings+=('-e' ' died.' + '-e' ' Swiss Cheese ' + '-e' 'Ectoplasmic Surge!' '-e' ' has been ' - '-e' ' killed ' + '-e' '^(Armor|Health) boosted!' '-e' 'Lesser demon energy' - '-e' ' was ' + '-e' '^Found ' '-e' 'Got the ' + '-e' 'Picked up ' + '-e' '^(Mega|Soul)sphere$' + '-e' '^Took ' + '-e' ' (sucked|was) .*(\.|!)' + '-e' '^Vanguard of the gods!$' '-e' "You've found " - '-e' 'Slot ') + '-e' 'You (collected|got|found|picked up) ') # Launch the game and pipe things to be spoken through speech-dispatcher. # This also leaves the console output intact for people who may want to read it. diff --git a/.scripts/TobyCustom/Project_Brutality_Operation_MDK.sh b/.scripts/TobyCustom/Project_Brutality_Operation_MDK.sh index b90534a..81bedf8 100755 --- a/.scripts/TobyCustom/Project_Brutality_Operation_MDK.sh +++ b/.scripts/TobyCustom/Project_Brutality_Operation_MDK.sh @@ -3,36 +3,44 @@ # Set the current path to the Doom path required by some OS. pushd "${doomPath}" -# Add all the TobyDoom stuff we need, exclude things we do not. -mapfile -t addons < <(find "${doomPath}/Addons/" -type f -iname "TobyV${tobyVersion%%-*}_*" \ - -not -iname "TobyV${tobyVersion%%-*}_Decorations.pk3" \ - -not -iname "TobyV${tobyVersion%%-*}_Monsters.pk3" - -not -iname "TobyV${tobyVersion%%-*}_Guns.pk3" -) - # Set up the pk3 and wad files gameOption=( "$(find /usr/share/games/ -name 'Project_Brutality-master.pk3')" "${doomPath}/TobyAccMod_V${tobyVersion}.pk3" - ${addons[@]} "${doomPath}/PB-Toby-Compatibility-Addon.pk3" + "${doomPath}/Toby-Universal-Pickup-Beacon-Prototype.pk3" "${doomPath}/OpMDK.wad" ) # Check for and include if present a wad. Some people may not have it. -if [[ -e "${doomPath}/DoomMetalVol6.wad" ]]; then +if [[ -e "${doomPath}/DoomMetalVol7.wad" ]]; then + gameOption+=("${doomPath}/DoomMetalVol7.wad") +elif [[ -e "${doomPath}/DoomMetalVol6.wad" ]]; then gameOption+=("${doomPath}/DoomMetalVol6.wad") fi # Extend the search for new messages to be read. grepStrings+=('-e' 'New PDA Entry:' + '-e' '^\*\*\* Brutality Bonus awarded!' '-e' ' died.' + '-e' 'Ectoplasmic Surge!' + '-e' '^Game Saved.' '-e' ' has been ' + '-e' '^(Armor|Health) boosted!' '-e' 'Lesser demon energy' + '-e' '^Found ' '-e' 'Got the ' - '-e' '^\([^?]*\)\(was\)\([^?]*\)$' + '-e' 'Picked up ' + '-e' '^(Mega|Soul)sphere$' + '-e' '^Took ' + '-e' ' was .*(\.|!)' + '-e' '^Vanguard of the gods!$' '-e' "You've found " - '-e' 'Slot ') + '-e' 'You (collected|got|found|picked up) ') + +antiGrepStrings+=('-e' 'key card' + '-e' ' was .*\?' +) # Launch the game and pipe things to be spoken through speech-dispatcher. # This also leaves the console output intact for people who may want to read it. diff --git a/.scripts/TobyCustom/Project_Brutality_Operation_MDK.sh.bak b/.scripts/TobyCustom/Project_Brutality_Operation_MDK.sh.bak new file mode 100755 index 0000000..b5da736 --- /dev/null +++ b/.scripts/TobyCustom/Project_Brutality_Operation_MDK.sh.bak @@ -0,0 +1,51 @@ +#!/usr/bin/env bash + +# Set the current path to the Doom path required by some OS. +pushd "${doomPath}" + +# Add all the TobyDoom stuff we need, exclude things we do not. +# mapfile -t addons < <(find "${doomPath}/Addons/" -type f -iname "TobyV${tobyVersion%%-*}_*" \ + #-not -iname "TobyV${tobyVersion%%-*}_Decorations.pk3" \ + #-not -iname "TobyV${tobyVersion%%-*}_Monsters.pk3" \ + #-not -iname "TobyV${tobyVersion%%-*}_Guns.pk3" +#) + +# Set up the pk3 and wad files +gameOption=( + "$(find /usr/share/games/ -name 'Project_Brutality-master.pk3')" + "${doomPath}/TobyAccMod_V${tobyVersion}.pk3" + ${addons[@]} + "${doomPath}/PB-Toby-Compatibility-Addon.pk3" + "${doomPath}/Toby-Universal-Pickup-Beacon-Prototype.pk3" + "${doomPath}/OpMDK.wad" +) + +# Check for and include if present a wad. Some people may not have it. +if [[ -e "${doomPath}/DoomMetalVol7.wad" ]]; then + gameOption+=("${doomPath}/DoomMetalVol7.wad") +elif [[ -e "${doomPath}/DoomMetalVol6.wad" ]]; then + gameOption+=("${doomPath}/DoomMetalVol6.wad") +fi + +# Extend the search for new messages to be read. +grepStrings+=('-e' 'New PDA Entry:' + '-e' ' died.' + '-e' 'Ectoplasmic Surge!' + '-e' ' has been ' + '-e' '^(Armor|Health) boosted!' + '-e' 'Lesser demon energy' + '-e' '^Found ' + '-e' 'Got the ' + '-e' 'Picked up ' + '-e' '^(Mega|Soul)sphere$' + '-e' '^Took ' + '-e' '^\([^?]*\)\(was\)\([^?]*\)$' + '-e' '^Vanguard of the gods!$' + '-e' "You've found " + '-e' 'You (collected|got|found|picked up) ') + +antiGrepStrings+=('-e' 'key card') + +# Launch the game and pipe things to be spoken through speech-dispatcher. +# This also leaves the console output intact for people who may want to read it. +exec stdbuf -oL ${gzdoom} ${gameOption[@]} | while IFS= read -r l ; do echo "$l" | { grep "${grepStrings[@]}" | grep "${antiGrepStrings[@]}" | sed "${sedStrings[@]}" | spd-say -e ${spd_module} ${spd_pitch} ${spd_rate} ${spd_voice} ${spd_volume} -- > /dev/null 2>&1; }; echo "$l";done diff --git a/.scripts/TobyCustom/Project_Brutality_Toby_Deluxe.sh b/.scripts/TobyCustom/Project_Brutality_Toby_Deluxe.sh index aeffcaa..8553dcc 100755 --- a/.scripts/TobyCustom/Project_Brutality_Toby_Deluxe.sh +++ b/.scripts/TobyCustom/Project_Brutality_Toby_Deluxe.sh @@ -3,36 +3,42 @@ # Set the current path to the Doom path required by some OS. pushd "${doomPath}" -# Add all the TobyDoom stuff we need, exclude things we do not. -mapfile -t addons < <(find "${doomPath}/Addons/" -type f -iname "TobyV${tobyVersion%%-*}_*" \ - -not -iname "TobyV${tobyVersion%%-*}_Decorations.pk3" \ - -not -iname "TobyV${tobyVersion%%-*}_Monsters.pk3" -) - -# Set up the pk3 and wad files +# Set up the pk3 and wad files gameOption=( "$(find /usr/share/games/ -name 'Project_Brutality-master.pk3')" "${doomPath}/TobyAccMod_V${tobyVersion}.pk3" - ${addons[@]} + "${doomPath}/PB-Toby-Compatibility-Addon.pk3" + "${doomPath}/Toby-Universal-Pickup-Beacon-Prototype.pk3" "${doomPath}/TobyDoomLevels.wad" ) - + # Check for and include if present a wad. Some people may not have it. if [[ -e "${doomPath}/DoomMetalVol7.wad" ]]; then - gameOption+=" DoomMetalVol7.wad" + gameOption+=("${doomPath}/DoomMetalVol7.wad") elif [[ -e "${doomPath}/DoomMetalVol6.wad" ]]; then - gameOption+=" DoomMetalVol6.wad" + gameOption+=("${doomPath}/DoomMetalVol6.wad") fi # Extend the search for new messages to be read. grepStrings+=('-e' 'New PDA Entry:' + '-e' '^\*\*\* Brutality Bonus awarded!' '-e' ' died.' + '-e' 'Ectoplasmic Surge!' + '-e' '^Game Saved.' '-e' ' has been ' + '-e' '^(Armor|Health) boosted!' '-e' 'Lesser demon energy' + '-e' '^Found ' '-e' 'Got the ' - '-e' '^\([^?]*\)\(was\)\([^?]*\)$' + '-e' 'Picked up ' + '-e' '^(Mega|Soul)sphere$' + '-e' '^Took ' + '-e' ' was .*(\.|!)' + '-e' '^Vanguard of the gods!$' '-e' "You've found " - '-e' 'Slot ') + '-e' 'You (collected|got|found|picked up) ') + +antiGrepStrings+=('-e' 'key card') # Launch the game and pipe things to be spoken through speech-dispatcher. # This also leaves the console output intact for people who may want to read it. diff --git a/.scripts/TobyCustom/StarWars.sh b/.scripts/TobyCustom/StarWars.sh index 7899b3c..b097c3a 100755 --- a/.scripts/TobyCustom/StarWars.sh +++ b/.scripts/TobyCustom/StarWars.sh @@ -27,6 +27,7 @@ grepStrings+=('-e' 'New PDA Entry:' '-e' ' died.' '-e' ' has been ' '-e' 'Lesser demon energy' + '-e' '^\([^?]*\)\(was\)\([^?]*\)$' '-e' 'Got the ' '-e' "You've found " '-e' 'Slot ') From b76d53dd16c487be6a5274e662cf905247633dcf Mon Sep 17 00:00:00 2001 From: Storm Dragon Date: Tue, 23 Apr 2024 13:01:08 -0400 Subject: [PATCH 02/23] Mor string processing. --- .../Project_Brutality_Operation_MDK.sh | 2 +- .../Project_Brutality_Operation_MDK.sh.bak | 51 ------------------- 2 files changed, 1 insertion(+), 52 deletions(-) delete mode 100755 .scripts/TobyCustom/Project_Brutality_Operation_MDK.sh.bak diff --git a/.scripts/TobyCustom/Project_Brutality_Operation_MDK.sh b/.scripts/TobyCustom/Project_Brutality_Operation_MDK.sh index 81bedf8..3ba510b 100755 --- a/.scripts/TobyCustom/Project_Brutality_Operation_MDK.sh +++ b/.scripts/TobyCustom/Project_Brutality_Operation_MDK.sh @@ -33,7 +33,7 @@ grepStrings+=('-e' 'New PDA Entry:' '-e' 'Picked up ' '-e' '^(Mega|Soul)sphere$' '-e' '^Took ' - '-e' ' was .*(\.|!)' + '-e' ' (SPLATTERED|was) .*(\.|!)' '-e' '^Vanguard of the gods!$' '-e' "You've found " '-e' 'You (collected|got|found|picked up) ') diff --git a/.scripts/TobyCustom/Project_Brutality_Operation_MDK.sh.bak b/.scripts/TobyCustom/Project_Brutality_Operation_MDK.sh.bak deleted file mode 100755 index b5da736..0000000 --- a/.scripts/TobyCustom/Project_Brutality_Operation_MDK.sh.bak +++ /dev/null @@ -1,51 +0,0 @@ -#!/usr/bin/env bash - -# Set the current path to the Doom path required by some OS. -pushd "${doomPath}" - -# Add all the TobyDoom stuff we need, exclude things we do not. -# mapfile -t addons < <(find "${doomPath}/Addons/" -type f -iname "TobyV${tobyVersion%%-*}_*" \ - #-not -iname "TobyV${tobyVersion%%-*}_Decorations.pk3" \ - #-not -iname "TobyV${tobyVersion%%-*}_Monsters.pk3" \ - #-not -iname "TobyV${tobyVersion%%-*}_Guns.pk3" -#) - -# Set up the pk3 and wad files -gameOption=( - "$(find /usr/share/games/ -name 'Project_Brutality-master.pk3')" - "${doomPath}/TobyAccMod_V${tobyVersion}.pk3" - ${addons[@]} - "${doomPath}/PB-Toby-Compatibility-Addon.pk3" - "${doomPath}/Toby-Universal-Pickup-Beacon-Prototype.pk3" - "${doomPath}/OpMDK.wad" -) - -# Check for and include if present a wad. Some people may not have it. -if [[ -e "${doomPath}/DoomMetalVol7.wad" ]]; then - gameOption+=("${doomPath}/DoomMetalVol7.wad") -elif [[ -e "${doomPath}/DoomMetalVol6.wad" ]]; then - gameOption+=("${doomPath}/DoomMetalVol6.wad") -fi - -# Extend the search for new messages to be read. -grepStrings+=('-e' 'New PDA Entry:' - '-e' ' died.' - '-e' 'Ectoplasmic Surge!' - '-e' ' has been ' - '-e' '^(Armor|Health) boosted!' - '-e' 'Lesser demon energy' - '-e' '^Found ' - '-e' 'Got the ' - '-e' 'Picked up ' - '-e' '^(Mega|Soul)sphere$' - '-e' '^Took ' - '-e' '^\([^?]*\)\(was\)\([^?]*\)$' - '-e' '^Vanguard of the gods!$' - '-e' "You've found " - '-e' 'You (collected|got|found|picked up) ') - -antiGrepStrings+=('-e' 'key card') - -# Launch the game and pipe things to be spoken through speech-dispatcher. -# This also leaves the console output intact for people who may want to read it. -exec stdbuf -oL ${gzdoom} ${gameOption[@]} | while IFS= read -r l ; do echo "$l" | { grep "${grepStrings[@]}" | grep "${antiGrepStrings[@]}" | sed "${sedStrings[@]}" | spd-say -e ${spd_module} ${spd_pitch} ${spd_rate} ${spd_voice} ${spd_volume} -- > /dev/null 2>&1; }; echo "$l";done From abd6fef7c0eb3205a543cce581418ba3b4648d3e Mon Sep 17 00:00:00 2001 From: Storm Dragon Date: Tue, 23 Apr 2024 14:59:49 -0400 Subject: [PATCH 03/23] Experimenting with load order. --- .scripts/TobyCustom/Project_Brutality_Operation_MDK.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.scripts/TobyCustom/Project_Brutality_Operation_MDK.sh b/.scripts/TobyCustom/Project_Brutality_Operation_MDK.sh index 3ba510b..433fa7c 100755 --- a/.scripts/TobyCustom/Project_Brutality_Operation_MDK.sh +++ b/.scripts/TobyCustom/Project_Brutality_Operation_MDK.sh @@ -5,11 +5,11 @@ pushd "${doomPath}" # Set up the pk3 and wad files gameOption=( - "$(find /usr/share/games/ -name 'Project_Brutality-master.pk3')" "${doomPath}/TobyAccMod_V${tobyVersion}.pk3" "${doomPath}/PB-Toby-Compatibility-Addon.pk3" "${doomPath}/Toby-Universal-Pickup-Beacon-Prototype.pk3" "${doomPath}/OpMDK.wad" + "$(find /usr/share/games/ -name 'Project_Brutality-master.pk3')" ) # Check for and include if present a wad. Some people may not have it. From f44711538109f524ad60d7ebd311de3a1f6e00e6 Mon Sep 17 00:00:00 2001 From: Storm Dragon Date: Tue, 23 Apr 2024 15:28:42 -0400 Subject: [PATCH 04/23] Restored original load order. --- .scripts/TobyCustom/Project_Brutality_Operation_MDK.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.scripts/TobyCustom/Project_Brutality_Operation_MDK.sh b/.scripts/TobyCustom/Project_Brutality_Operation_MDK.sh index 433fa7c..3ba510b 100755 --- a/.scripts/TobyCustom/Project_Brutality_Operation_MDK.sh +++ b/.scripts/TobyCustom/Project_Brutality_Operation_MDK.sh @@ -5,11 +5,11 @@ pushd "${doomPath}" # Set up the pk3 and wad files gameOption=( + "$(find /usr/share/games/ -name 'Project_Brutality-master.pk3')" "${doomPath}/TobyAccMod_V${tobyVersion}.pk3" "${doomPath}/PB-Toby-Compatibility-Addon.pk3" "${doomPath}/Toby-Universal-Pickup-Beacon-Prototype.pk3" "${doomPath}/OpMDK.wad" - "$(find /usr/share/games/ -name 'Project_Brutality-master.pk3')" ) # Check for and include if present a wad. Some people may not have it. From 8983887494efbd4d681b3af7644d63f103df4b02 Mon Sep 17 00:00:00 2001 From: Storm Dragon Date: Tue, 23 Apr 2024 15:30:15 -0400 Subject: [PATCH 05/23] Revert "Restored original load order." This reverts commit f44711538109f524ad60d7ebd311de3a1f6e00e6. --- .scripts/TobyCustom/Project_Brutality_Operation_MDK.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.scripts/TobyCustom/Project_Brutality_Operation_MDK.sh b/.scripts/TobyCustom/Project_Brutality_Operation_MDK.sh index 3ba510b..433fa7c 100755 --- a/.scripts/TobyCustom/Project_Brutality_Operation_MDK.sh +++ b/.scripts/TobyCustom/Project_Brutality_Operation_MDK.sh @@ -5,11 +5,11 @@ pushd "${doomPath}" # Set up the pk3 and wad files gameOption=( - "$(find /usr/share/games/ -name 'Project_Brutality-master.pk3')" "${doomPath}/TobyAccMod_V${tobyVersion}.pk3" "${doomPath}/PB-Toby-Compatibility-Addon.pk3" "${doomPath}/Toby-Universal-Pickup-Beacon-Prototype.pk3" "${doomPath}/OpMDK.wad" + "$(find /usr/share/games/ -name 'Project_Brutality-master.pk3')" ) # Check for and include if present a wad. Some people may not have it. From b4b40678218b1c49785745792dc9110b7e009be5 Mon Sep 17 00:00:00 2001 From: Storm Dragon Date: Wed, 24 Apr 2024 07:53:09 -0400 Subject: [PATCH 06/23] Removed PDA stuff from speech. --- .scripts/TobyCustom/Project_Brutality_Operation_MDK.sh | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.scripts/TobyCustom/Project_Brutality_Operation_MDK.sh b/.scripts/TobyCustom/Project_Brutality_Operation_MDK.sh index 433fa7c..44df1c0 100755 --- a/.scripts/TobyCustom/Project_Brutality_Operation_MDK.sh +++ b/.scripts/TobyCustom/Project_Brutality_Operation_MDK.sh @@ -20,8 +20,7 @@ elif [[ -e "${doomPath}/DoomMetalVol6.wad" ]]; then fi # Extend the search for new messages to be read. -grepStrings+=('-e' 'New PDA Entry:' - '-e' '^\*\*\* Brutality Bonus awarded!' +grepStrings+=('-e' '^\*\*\* Brutality Bonus awarded!' '-e' ' died.' '-e' 'Ectoplasmic Surge!' '-e' '^Game Saved.' From fce04adc54d52185799156f098c394e6e65601c7 Mon Sep 17 00:00:00 2001 From: Storm Dragon Date: Wed, 24 Apr 2024 12:26:39 -0400 Subject: [PATCH 07/23] Removed the star characters from brutality bonus announcement. --- .scripts/TobyCustom/Project_Brutality_Operation_MDK.sh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.scripts/TobyCustom/Project_Brutality_Operation_MDK.sh b/.scripts/TobyCustom/Project_Brutality_Operation_MDK.sh index 44df1c0..25a4c3a 100755 --- a/.scripts/TobyCustom/Project_Brutality_Operation_MDK.sh +++ b/.scripts/TobyCustom/Project_Brutality_Operation_MDK.sh @@ -31,8 +31,9 @@ grepStrings+=('-e' '^\*\*\* Brutality Bonus awarded!' '-e' 'Got the ' '-e' 'Picked up ' '-e' '^(Mega|Soul)sphere$' - '-e' '^Took ' + '-e' ' skeleton key secured!$' '-e' ' (SPLATTERED|was) .*(\.|!)' + '-e' '^Took ' '-e' '^Vanguard of the gods!$' '-e' "You've found " '-e' 'You (collected|got|found|picked up) ') @@ -41,6 +42,8 @@ antiGrepStrings+=('-e' 'key card' '-e' ' was .*\?' ) +sedStrings+=('-e' 's/*\{3\}//g') + # Launch the game and pipe things to be spoken through speech-dispatcher. # This also leaves the console output intact for people who may want to read it. exec stdbuf -oL ${gzdoom} ${gameOption[@]} | while IFS= read -r l ; do echo "$l" | { grep "${grepStrings[@]}" | grep "${antiGrepStrings[@]}" | sed "${sedStrings[@]}" | spd-say -e ${spd_module} ${spd_pitch} ${spd_rate} ${spd_voice} ${spd_volume} -- > /dev/null 2>&1; }; echo "$l";done From b6a2e722eee8ed9aa4cad220c06873ac793a1dfa Mon Sep 17 00:00:00 2001 From: Storm Dragon Date: Sat, 27 Apr 2024 00:15:07 -0400 Subject: [PATCH 08/23] Found one more string that wasn't being read. --- .scripts/TobyCustom/Brutal_Death_Match.sh | 1 + .../Project_Brutality_Operation_MDK.sh | 1 + .../TobyCustom/Project_Brutality_Toby_Deluxe.sh | 17 +++++++++++------ 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/.scripts/TobyCustom/Brutal_Death_Match.sh b/.scripts/TobyCustom/Brutal_Death_Match.sh index 0b52f8e..39eb021 100755 --- a/.scripts/TobyCustom/Brutal_Death_Match.sh +++ b/.scripts/TobyCustom/Brutal_Death_Match.sh @@ -112,6 +112,7 @@ grepStrings+=('-e' ' died.' '-e' 'Lesser demon energy' '-e' '^Found ' '-e' 'Got the ' + '-e' ' killed (her|him|it)self(\.|!)' '-e' 'Picked up ' '-e' '^(Mega|Soul)sphere$' '-e' '^Took ' diff --git a/.scripts/TobyCustom/Project_Brutality_Operation_MDK.sh b/.scripts/TobyCustom/Project_Brutality_Operation_MDK.sh index 25a4c3a..09cb771 100755 --- a/.scripts/TobyCustom/Project_Brutality_Operation_MDK.sh +++ b/.scripts/TobyCustom/Project_Brutality_Operation_MDK.sh @@ -29,6 +29,7 @@ grepStrings+=('-e' '^\*\*\* Brutality Bonus awarded!' '-e' 'Lesser demon energy' '-e' '^Found ' '-e' 'Got the ' + '-e' ' killed (her|him|it)self(\.|!)' '-e' 'Picked up ' '-e' '^(Mega|Soul)sphere$' '-e' ' skeleton key secured!$' diff --git a/.scripts/TobyCustom/Project_Brutality_Toby_Deluxe.sh b/.scripts/TobyCustom/Project_Brutality_Toby_Deluxe.sh index 8553dcc..7c1be46 100755 --- a/.scripts/TobyCustom/Project_Brutality_Toby_Deluxe.sh +++ b/.scripts/TobyCustom/Project_Brutality_Toby_Deluxe.sh @@ -5,11 +5,11 @@ pushd "${doomPath}" # Set up the pk3 and wad files gameOption=( - "$(find /usr/share/games/ -name 'Project_Brutality-master.pk3')" "${doomPath}/TobyAccMod_V${tobyVersion}.pk3" "${doomPath}/PB-Toby-Compatibility-Addon.pk3" "${doomPath}/Toby-Universal-Pickup-Beacon-Prototype.pk3" "${doomPath}/TobyDoomLevels.wad" + "$(find /usr/share/games/ -name 'Project_Brutality-master.pk3')" ) # Check for and include if present a wad. Some people may not have it. @@ -20,8 +20,7 @@ elif [[ -e "${doomPath}/DoomMetalVol6.wad" ]]; then fi # Extend the search for new messages to be read. -grepStrings+=('-e' 'New PDA Entry:' - '-e' '^\*\*\* Brutality Bonus awarded!' +grepStrings+=('-e' '^\*\*\* Brutality Bonus awarded!' '-e' ' died.' '-e' 'Ectoplasmic Surge!' '-e' '^Game Saved.' @@ -30,15 +29,21 @@ grepStrings+=('-e' 'New PDA Entry:' '-e' 'Lesser demon energy' '-e' '^Found ' '-e' 'Got the ' + '-e' ' killed (her|him|it)self(\.|!)' '-e' 'Picked up ' '-e' '^(Mega|Soul)sphere$' + '-e' ' skeleton key secured!$' + '-e' ' (SPLATTERED|was) .*(\.|!)' '-e' '^Took ' - '-e' ' was .*(\.|!)' '-e' '^Vanguard of the gods!$' '-e' "You've found " '-e' 'You (collected|got|found|picked up) ') - -antiGrepStrings+=('-e' 'key card') + +antiGrepStrings+=('-e' 'key card' + '-e' ' was .*\?' +) + +sedStrings+=('-e' 's/*\{3\}//g') # Launch the game and pipe things to be spoken through speech-dispatcher. # This also leaves the console output intact for people who may want to read it. From 3b731e4c69e2ae08437977beab68515bcf4ce467 Mon Sep 17 00:00:00 2001 From: Storm Dragon Date: Thu, 2 May 2024 16:24:20 -0400 Subject: [PATCH 09/23] Latest updates. --- .scripts/TobyCustom/Brutal_Death_Match.sh | 2 +- .../TobyCustom/Project_Brutality_Toby_Demo.sh | 41 ++++++++++++------- 2 files changed, 27 insertions(+), 16 deletions(-) diff --git a/.scripts/TobyCustom/Brutal_Death_Match.sh b/.scripts/TobyCustom/Brutal_Death_Match.sh index 39eb021..8798ed4 100755 --- a/.scripts/TobyCustom/Brutal_Death_Match.sh +++ b/.scripts/TobyCustom/Brutal_Death_Match.sh @@ -4,10 +4,10 @@ pushd "$doomPath" # Set up the pk3 and wad files gameOption=( - "$(find /usr/share/games/ -name 'Project_Brutality-master.pk3')" "${doomPath}/TobyAccMod_V${tobyVersion}.pk3" "${doomPath}/PB-Toby-Compatibility-Addon.pk3" "${doomPath}/Toby-Universal-Pickup-Beacon-Prototype.pk3" + "$(find /usr/share/games/ -name 'Project_Brutality-master.pk3')" "${doomPath}/TobyDeathArena_V1-0.wad" ) diff --git a/.scripts/TobyCustom/Project_Brutality_Toby_Demo.sh b/.scripts/TobyCustom/Project_Brutality_Toby_Demo.sh index cae76be..2096eaa 100755 --- a/.scripts/TobyCustom/Project_Brutality_Toby_Demo.sh +++ b/.scripts/TobyCustom/Project_Brutality_Toby_Demo.sh @@ -3,36 +3,47 @@ # Set the current path to the Doom path required by some OS. pushd "${doomPath}" -# Add all the TobyDoom stuff we need, exclude things we do not. -mapfile -t addons < <(find "${doomPath}/Addons/" -type f -iname "TobyV${tobyVersion%%-*}_*" \ - -not -iname "TobyV${tobyVersion%%-*}_Decorations.pk3" \ - -not -iname "TobyV${tobyVersion%%-*}_Monsters.pk3" -) - -# Set up the pk3 and wad files +# Set up the pk3 and wad files gameOption=( - "$(find /usr/share/games/ -name 'Project_Brutality-master.pk3')" "${doomPath}/TobyAccMod_V${tobyVersion}.pk3" - ${addons[@]} + "${doomPath}/PB-Toby-Compatibility-Addon.pk3" + "${doomPath}/Toby-Universal-Pickup-Beacon-Prototype.pk3" "${doomPath}/Toby-Demo-Level.wad" + "$(find /usr/share/games/ -name 'Project_Brutality-master.pk3')" ) - + # Check for and include if present a wad. Some people may not have it. if [[ -e "${doomPath}/DoomMetalVol7.wad" ]]; then - gameOption+=" DoomMetalVol7.wad" + gameOption+=("${doomPath}/DoomMetalVol7.wad") elif [[ -e "${doomPath}/DoomMetalVol6.wad" ]]; then - gameOption+=" DoomMetalVol6.wad" + gameOption+=("${doomPath}/DoomMetalVol6.wad") fi # Extend the search for new messages to be read. -grepStrings+=('-e' 'New PDA Entry:' +grepStrings+=('-e' '^\*\*\* Brutality Bonus awarded!' '-e' ' died.' + '-e' 'Ectoplasmic Surge!' + '-e' '^Game Saved.' '-e' ' has been ' + '-e' '^(Armor|Health) boosted!' '-e' 'Lesser demon energy' + '-e' '^Found ' '-e' 'Got the ' - '-e' '^\([^?]*\)\(was\)\([^?]*\)$' + '-e' ' killed (her|him|it)self(\.|!)' + '-e' 'Picked up ' + '-e' '^(Mega|Soul)sphere$' + '-e' ' skeleton key secured!$' + '-e' ' (SPLATTERED|was) .*(\.|!)' + '-e' '^Took ' + '-e' '^Vanguard of the gods!$' '-e' "You've found " - '-e' 'Slot ') + '-e' 'You (collected|got|found|picked up) ') + +antiGrepStrings+=('-e' 'key card' + '-e' ' was .*\?' +) + +sedStrings+=('-e' 's/*\{3\}//g') # Launch the game and pipe things to be spoken through speech-dispatcher. # This also leaves the console output intact for people who may want to read it. From 1ece76a225d1248c1a9c186adb9f5a5ab4ff7107 Mon Sep 17 00:00:00 2001 From: Storm Dragon Date: Thu, 2 May 2024 17:08:41 -0400 Subject: [PATCH 10/23] Finished moving the variable extensions to a single file so that all the Project Brutality stuff can share common code. --- .scripts/TobyCustom/.projectbrutalityrc | 31 +++++++++++++++++++ .scripts/TobyCustom/Brutal_Death_Match.sh | 20 ++---------- .../Project_Brutality_Operation_MDK.sh | 28 ++--------------- .../Project_Brutality_Toby_Deluxe.sh | 28 ++--------------- .../TobyCustom/Project_Brutality_Toby_Demo.sh | 28 ++--------------- 5 files changed, 43 insertions(+), 92 deletions(-) create mode 100644 .scripts/TobyCustom/.projectbrutalityrc diff --git a/.scripts/TobyCustom/.projectbrutalityrc b/.scripts/TobyCustom/.projectbrutalityrc new file mode 100644 index 0000000..87339d0 --- /dev/null +++ b/.scripts/TobyCustom/.projectbrutalityrc @@ -0,0 +1,31 @@ +# Extend the search for new messages to be read. +grepStrings+=('-e' '^\*\*\* Brutality Bonus awarded!' + '-e' '^A backpack for all your ammo storage needs!$' + '-e' '^Area survey map.$' + '-e' ' died.' + '-e' 'Ectoplasmic Surge!' + '-e' '^Game Saved.' + '-e' ' has been ' + '-e' '^(Armor|Health) boosted!' + '-e' 'Lesser demon energy' + '-e' '^Found ' + '-e' 'Got the ' + '-e' ' killed (her|him|it)self(\.|!)' + '-e' '^Low-light goggles.$' + '-e' '^Picked up ' + '-e' '^Press ' + '-e' 'Rescue operations suit.' + '-e' '^(Mega|Soul)sphere$' + '-e' ' skeleton key secured!$' + '-e' ' (SPLATTERED|was) .*(\.|!)' + '-e' ' Swiss Cheese ' + '-e' '^Took ' + '-e' '^Vanguard of the gods!$' + '-e' "You've found " + '-e' 'You (collected|got|found|picked up) ') + +antiGrepStrings+=('-e' 'key card' + '-e' ' was .*\?' +) + +sedStrings+=('-e' 's/*\{3\}//g') diff --git a/.scripts/TobyCustom/Brutal_Death_Match.sh b/.scripts/TobyCustom/Brutal_Death_Match.sh index 8798ed4..b2a5304 100755 --- a/.scripts/TobyCustom/Brutal_Death_Match.sh +++ b/.scripts/TobyCustom/Brutal_Death_Match.sh @@ -103,23 +103,9 @@ elif [[ -e "${doomPath}/DoomMetalVol6.wad" ]]; then gameOption+=" DoomMetalVol6.wad" fi -# Extend the search for new messages to be read. -grepStrings+=('-e' ' died.' - '-e' ' Swiss Cheese ' - '-e' 'Ectoplasmic Surge!' - '-e' ' has been ' - '-e' '^(Armor|Health) boosted!' - '-e' 'Lesser demon energy' - '-e' '^Found ' - '-e' 'Got the ' - '-e' ' killed (her|him|it)self(\.|!)' - '-e' 'Picked up ' - '-e' '^(Mega|Soul)sphere$' - '-e' '^Took ' - '-e' ' (sucked|was) .*(\.|!)' - '-e' '^Vanguard of the gods!$' - '-e' "You've found " - '-e' 'You (collected|got|found|picked up) ') +# Source common variable extensions. +pbrc="$(find "${0%/*}/" -type f -name '.projectbrutalityrc')" +source "${pbrc}" # Launch the game and pipe things to be spoken through speech-dispatcher. # This also leaves the console output intact for people who may want to read it. diff --git a/.scripts/TobyCustom/Project_Brutality_Operation_MDK.sh b/.scripts/TobyCustom/Project_Brutality_Operation_MDK.sh index 09cb771..3f135de 100755 --- a/.scripts/TobyCustom/Project_Brutality_Operation_MDK.sh +++ b/.scripts/TobyCustom/Project_Brutality_Operation_MDK.sh @@ -19,31 +19,9 @@ elif [[ -e "${doomPath}/DoomMetalVol6.wad" ]]; then gameOption+=("${doomPath}/DoomMetalVol6.wad") fi -# Extend the search for new messages to be read. -grepStrings+=('-e' '^\*\*\* Brutality Bonus awarded!' - '-e' ' died.' - '-e' 'Ectoplasmic Surge!' - '-e' '^Game Saved.' - '-e' ' has been ' - '-e' '^(Armor|Health) boosted!' - '-e' 'Lesser demon energy' - '-e' '^Found ' - '-e' 'Got the ' - '-e' ' killed (her|him|it)self(\.|!)' - '-e' 'Picked up ' - '-e' '^(Mega|Soul)sphere$' - '-e' ' skeleton key secured!$' - '-e' ' (SPLATTERED|was) .*(\.|!)' - '-e' '^Took ' - '-e' '^Vanguard of the gods!$' - '-e' "You've found " - '-e' 'You (collected|got|found|picked up) ') - -antiGrepStrings+=('-e' 'key card' - '-e' ' was .*\?' -) - -sedStrings+=('-e' 's/*\{3\}//g') +# Source common variable extensions. +pbrc="$(find "${0%/*}/" -type f -name '.projectbrutalityrc')" +source "${pbrc}" # Launch the game and pipe things to be spoken through speech-dispatcher. # This also leaves the console output intact for people who may want to read it. diff --git a/.scripts/TobyCustom/Project_Brutality_Toby_Deluxe.sh b/.scripts/TobyCustom/Project_Brutality_Toby_Deluxe.sh index 7c1be46..9e8cbcd 100755 --- a/.scripts/TobyCustom/Project_Brutality_Toby_Deluxe.sh +++ b/.scripts/TobyCustom/Project_Brutality_Toby_Deluxe.sh @@ -19,31 +19,9 @@ elif [[ -e "${doomPath}/DoomMetalVol6.wad" ]]; then gameOption+=("${doomPath}/DoomMetalVol6.wad") fi -# Extend the search for new messages to be read. -grepStrings+=('-e' '^\*\*\* Brutality Bonus awarded!' - '-e' ' died.' - '-e' 'Ectoplasmic Surge!' - '-e' '^Game Saved.' - '-e' ' has been ' - '-e' '^(Armor|Health) boosted!' - '-e' 'Lesser demon energy' - '-e' '^Found ' - '-e' 'Got the ' - '-e' ' killed (her|him|it)self(\.|!)' - '-e' 'Picked up ' - '-e' '^(Mega|Soul)sphere$' - '-e' ' skeleton key secured!$' - '-e' ' (SPLATTERED|was) .*(\.|!)' - '-e' '^Took ' - '-e' '^Vanguard of the gods!$' - '-e' "You've found " - '-e' 'You (collected|got|found|picked up) ') - -antiGrepStrings+=('-e' 'key card' - '-e' ' was .*\?' -) - -sedStrings+=('-e' 's/*\{3\}//g') +# Source common variable extensions. +pbrc="$(find "${0%/*}/" -type f -name '.projectbrutalityrc')" +source "${pbrc}" # Launch the game and pipe things to be spoken through speech-dispatcher. # This also leaves the console output intact for people who may want to read it. diff --git a/.scripts/TobyCustom/Project_Brutality_Toby_Demo.sh b/.scripts/TobyCustom/Project_Brutality_Toby_Demo.sh index 2096eaa..6db0516 100755 --- a/.scripts/TobyCustom/Project_Brutality_Toby_Demo.sh +++ b/.scripts/TobyCustom/Project_Brutality_Toby_Demo.sh @@ -19,31 +19,9 @@ elif [[ -e "${doomPath}/DoomMetalVol6.wad" ]]; then gameOption+=("${doomPath}/DoomMetalVol6.wad") fi -# Extend the search for new messages to be read. -grepStrings+=('-e' '^\*\*\* Brutality Bonus awarded!' - '-e' ' died.' - '-e' 'Ectoplasmic Surge!' - '-e' '^Game Saved.' - '-e' ' has been ' - '-e' '^(Armor|Health) boosted!' - '-e' 'Lesser demon energy' - '-e' '^Found ' - '-e' 'Got the ' - '-e' ' killed (her|him|it)self(\.|!)' - '-e' 'Picked up ' - '-e' '^(Mega|Soul)sphere$' - '-e' ' skeleton key secured!$' - '-e' ' (SPLATTERED|was) .*(\.|!)' - '-e' '^Took ' - '-e' '^Vanguard of the gods!$' - '-e' "You've found " - '-e' 'You (collected|got|found|picked up) ') - -antiGrepStrings+=('-e' 'key card' - '-e' ' was .*\?' -) - -sedStrings+=('-e' 's/*\{3\}//g') +# Source common variable extensions. +pbrc="$(find "${0%/*}/" -type f -name '.projectbrutalityrc')" +source "${pbrc}" # Launch the game and pipe things to be spoken through speech-dispatcher. # This also leaves the console output intact for people who may want to read it. From e1b6260bf547b4b45dbd090253427e778c51f2a0 Mon Sep 17 00:00:00 2001 From: Storm Dragon Date: Sat, 4 May 2024 01:24:45 -0400 Subject: [PATCH 11/23] Added greater demon energy to read strings. --- .scripts/TobyCustom/.projectbrutalityrc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.scripts/TobyCustom/.projectbrutalityrc b/.scripts/TobyCustom/.projectbrutalityrc index 87339d0..0a0d20b 100644 --- a/.scripts/TobyCustom/.projectbrutalityrc +++ b/.scripts/TobyCustom/.projectbrutalityrc @@ -7,7 +7,7 @@ grepStrings+=('-e' '^\*\*\* Brutality Bonus awarded!' '-e' '^Game Saved.' '-e' ' has been ' '-e' '^(Armor|Health) boosted!' - '-e' 'Lesser demon energy' + '-e' '(Greater|Lesser) demon energy' '-e' '^Found ' '-e' 'Got the ' '-e' ' killed (her|him|it)self(\.|!)' From c2d69bdd48e979c8c8e415f7630c840d2c0f46aa Mon Sep 17 00:00:00 2001 From: Storm Dragon Date: Sat, 15 Jun 2024 02:11:01 -0400 Subject: [PATCH 12/23] Changes to work with new project brutality. --- .scripts/TobyCustom/.projectbrutalityrc | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.scripts/TobyCustom/.projectbrutalityrc b/.scripts/TobyCustom/.projectbrutalityrc index 0a0d20b..584e7e8 100644 --- a/.scripts/TobyCustom/.projectbrutalityrc +++ b/.scripts/TobyCustom/.projectbrutalityrc @@ -1,5 +1,6 @@ # Extend the search for new messages to be read. grepStrings+=('-e' '^\*\*\* Brutality Bonus awarded!' + '-e' '^\+[0-9]+ ' '-e' '^A backpack for all your ammo storage needs!$' '-e' '^Area survey map.$' '-e' ' died.' @@ -15,8 +16,9 @@ grepStrings+=('-e' '^\*\*\* Brutality Bonus awarded!' '-e' '^Picked up ' '-e' '^Press ' '-e' 'Rescue operations suit.' - '-e' '^(Mega|Soul)sphere$' + '-e' '^(Mega|Soul)sphere!$' '-e' ' skeleton key secured!$' + '-e' ' \(Slot [0-9]+\)' '-e' ' (SPLATTERED|was) .*(\.|!)' '-e' ' Swiss Cheese ' '-e' '^Took ' @@ -28,4 +30,5 @@ antiGrepStrings+=('-e' 'key card' '-e' ' was .*\?' ) -sedStrings+=('-e' 's/*\{3\}//g') +sedStrings+=('-e' 's/*\{3\}//g' + '-e' 's/^+//') From afa4e36d1668d26245e303a93eea0c563dc1b85c Mon Sep 17 00:00:00 2001 From: Storm Dragon Date: Mon, 8 Jul 2024 02:14:36 -0400 Subject: [PATCH 13/23] Fixed some changed and new strings. --- .scripts/TobyCustom/.projectbrutalityrc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.scripts/TobyCustom/.projectbrutalityrc b/.scripts/TobyCustom/.projectbrutalityrc index 584e7e8..d56a85f 100644 --- a/.scripts/TobyCustom/.projectbrutalityrc +++ b/.scripts/TobyCustom/.projectbrutalityrc @@ -16,7 +16,8 @@ grepStrings+=('-e' '^\*\*\* Brutality Bonus awarded!' '-e' '^Picked up ' '-e' '^Press ' '-e' 'Rescue operations suit.' - '-e' '^(Mega|Soul)sphere!$' + '-e' '^(Mega|Soul|Invulnerability )[Ss]phere!$' + '-e' '^Mancubus ' '-e' ' skeleton key secured!$' '-e' ' \(Slot [0-9]+\)' '-e' ' (SPLATTERED|was) .*(\.|!)' From 550b990195269409f07e16c21847f75476ee497e Mon Sep 17 00:00:00 2001 From: Storm Dragon Date: Wed, 31 Jul 2024 02:18:36 -0400 Subject: [PATCH 14/23] Attempt to place things not controlled by package managers in ~/.local/games. --- .scripts/FreeDoom.sh | 20 +++++++++++--------- linux-game-manager.sh | 21 +++++++++++---------- 2 files changed, 22 insertions(+), 19 deletions(-) diff --git a/.scripts/FreeDoom.sh b/.scripts/FreeDoom.sh index e4d3e20..6bd2b50 100755 --- a/.scripts/FreeDoom.sh +++ b/.scripts/FreeDoom.sh @@ -5,6 +5,8 @@ DIALOG_ITEM_HELP="" export DIALOGOPTS='--no-lines --visit-items' +# Toby games path +gamePath=~/.local/games/doom # Path where doom wads are stored export doomPath="$(find /usr/share -type d -name "doom" 2> /dev/null | head -1)" @@ -17,13 +19,13 @@ export tobyVersion="7-0" doomGames=( # Toby demo map - "TobyAccMod_V${tobyVersion}.pk3 Toby-Demo-Level.wad ""$doomPath/Addons/TobyV${tobyVersion%%-*}_"* "Freedoom Toby Demo Map" + "TobyAccMod_V${tobyVersion}.pk3 Toby-Demo-Level.wad ""$gamePath/Addons/TobyV${tobyVersion%%-*}_"* "Freedoom Toby Demo Map" # Unmodified Doom with accessibility. - "TobyAccMod_V${tobyVersion}.pk3 ""$doomPath/Addons/TobyV${tobyVersion%%-*}_"* "Freedoom" + "TobyAccMod_V${tobyVersion}.pk3 ""$gamePath/Addons/TobyV${tobyVersion%%-*}_"* "Freedoom" # Toby accessibility mods - "TobyAccMod_V${tobyVersion}.pk3 TobyDoomLevels.wad ""$doomPath/Addons/TobyV${tobyVersion%%-*}_"* "Freedoom Toby Delux Map Pack" + "TobyAccMod_V${tobyVersion}.pk3 TobyDoomLevels.wad ""$gamePath/Addons/TobyV${tobyVersion%%-*}_"* "Freedoom Toby Delux Map Pack" # OperationMDK - "TobyAccMod_V${tobyVersion}.pk3 OpMDK.wad ""$doomPath/Addons/TobyV${tobyVersion%%-*}_"* "Freedoom OperationMDK" + "TobyAccMod_V${tobyVersion}.pk3 OpMDK.wad ""$gamePath/Addons/TobyV${tobyVersion%%-*}_"* "Freedoom OperationMDK" "custom_game" "Custom Game" ) @@ -94,9 +96,9 @@ gameOption="$(dialog --backtitle "Select your Doom!" \ --help-label "Exit" \ --menu "Please select one" 0 0 0 "${doomGames[@]}" --stdout)" buttonCode=$? -if [[ -e "${doomPath}/DoomMetalVol7.wad" ]]; then +if [[ -e "${gamePath}/DoomMetalVol7.wad" ]]; then gameOption+=" DoomMetalVol7.wad" -elif [[ -e "${doomPath}/DoomMetalVol6.wad" ]]; then +elif [[ -e "${gamePath}/DoomMetalVol6.wad" ]]; then gameOption+=" DoomMetalVol6.wad" fi @@ -104,7 +106,7 @@ case ${buttonCode} in 1) # Death match setup # Ignore the choice of map made above - gameOption="${doomPath}/TobyAccMod_V${tobyVersion}.pk3 ${doomPath}/TobyDeathArena_V1-0.wad ""$doomPath/Addons/TobyV${tobVersion%%-*}_"* + gameOption="${gamePath}/TobyAccMod_V${tobyVersion}.pk3 ${gamePath}/TobyDeathArena_V1-0.wad ""$gamePath/Addons/TobyV${tobVersion%%-*}_"* ipAddress="$(dialog --backtitle "Deathmatch Options" \ --clear \ --no-tags \ @@ -189,7 +191,7 @@ case ${buttonCode} in ) fi pushd "$doomPath" - exec stdbuf -oL ${gzdoom} ${gameOption} "$doomPath/Addons/TobyV${tobyVersion%%-*}_"* "${flags[@]}" | while IFS= read -r l ; do echo "$l" | { grep "${grepStrings[@]}" | grep "${antiGrepStrings[@]}" | sed "${sedStrings[@]}" | spd-say -e ${spd_module} ${spd_pitch} ${spd_rate} ${spd_voice} ${spd_volume} --; } ; echo "$l";done + exec stdbuf -oL ${gzdoom} ${gameOption} "$gamePath/Addons/TobyV${tobyVersion%%-*}_"* "${flags[@]}" | while IFS= read -r l ; do echo "$l" | { grep "${grepStrings[@]}" | grep "${antiGrepStrings[@]}" | sed "${sedStrings[@]}" | spd-say -e ${spd_module} ${spd_pitch} ${spd_rate} ${spd_voice} ${spd_volume} --; } ; echo "$l";done ;; 2) # Exit was pressed, so exit. @@ -241,7 +243,7 @@ case ${buttonCode} in ) fi pushd "${doomPath}" - exec stdbuf -oL ${gzdoom} ${gameOption} "$doomPath/Addons/TobyV${tobyVersion%%-*}_"* "${flags[@]}" | while IFS= read -r l ; do echo "$l" | { grep "${grepStrings[@]}" | grep "${antiGrepStrings[@]}" | sed "${sedStrings[@]}" | spd-say -e ${spd_module} ${spd_pitch} ${spd_rate} ${spd_voice} ${spd_volume} --; } ; echo "$l";done + exec stdbuf -oL ${gzdoom} ${gameOption} "$gamePath/Addons/TobyV${tobyVersion%%-*}_"* "${flags[@]}" | while IFS= read -r l ; do echo "$l" | { grep "${grepStrings[@]}" | grep "${antiGrepStrings[@]}" | sed "${sedStrings[@]}" | spd-say -e ${spd_module} ${spd_pitch} ${spd_rate} ${spd_voice} ${spd_volume} --; } ; echo "$l";done ;; 0) if [[ "${gameOption%% *}" == "custom_game" ]]; then diff --git a/linux-game-manager.sh b/linux-game-manager.sh index 4082ed7..067a985 100755 --- a/linux-game-manager.sh +++ b/linux-game-manager.sh @@ -677,6 +677,7 @@ case "${game}" in ;; "Freedoom") tobyVersion="7-0" + mkdir -p "${installPath}/doom" doomPath="$(find /usr/share -type d -name "doom" 2> /dev/null)" if [[ ${#doomPath} -lt 5 ]]; then dialog --backtitle "Linux Game Manager" \ @@ -695,7 +696,7 @@ case "${game}" in fi fi doomPath="$(find /usr/share -type d -name "doom" 2> /dev/null | head -1)" - if ! [[ -e "${doomPath}/DoomMetalVol6.wad" ]] && ! [[ -e "${doomPath}/DoomMetalVol7.wad" ]]; then + if ! [[ -e "${installPath}/doom/DoomMetalVol6.wad" ]] && ! [[ -e "${installPath}/doom/DoomMetalVol7.wad" ]]; then alert dialog --backtitle "Linux Game manager" \ --extra-button \ @@ -718,18 +719,18 @@ case "${game}" in echo "The next step may require your password." echo "It is necessary to move the extracted files into their proper place." alert - [[ -e "${cache}/DoomMetalVol6.wad" ]] && sudo mv "${cache}/DoomMetalVol6.wad" "${doomPath}/" - [[ -e "${cache}/DoomMetalVol7.wad" ]] && sudo mv "${cache}/DoomMetalVol7.wad" "${doomPath}/" - sudo unzip -n -d "${doomPath}" "${cache}/TobyAccessibilityMod_Version${tobyVersion}.zip" - sudo unzip -n -d "${doomPath}" "${cache}/OpMDK_ForV7-0.zip" - sudo cp -v "${cache}/keyshare-universal.pk3" "${doomPath}" - sudo rm -fv "${doomPath}/"*.{bat,exe} + [[ -e "${cache}/DoomMetalVol6.wad" ]] && mv "${cache}/DoomMetalVol6.wad" "${installPath}/doom" + [[ -e "${cache}/DoomMetalVol7.wad" ]] && sudo mv "${cache}/DoomMetalVol7.wad" "${installPath}/doom" + unzip -n -d "${installPath}/doom" "${cache}/TobyAccessibilityMod_Version${tobyVersion}.zip" + unzip -n -d "${installPath}/doom" "${cache}/OpMDK_ForV7-0.zip" + sudo cp -v "${cache}/keyshare-universal.pk3" "${installPath}/doom" + rm -fv "${installPath}/"*.{bat,exe} mkdir -p "${XDG_CONFIG_HOME:-$HOME/.config}/gzdoom" cp "${doomPath}/TobyConfig.ini" "${XDG_CONFIG_HOME:-$HOME/.config}/gzdoom/gzdoom.ini" cp "${doomPath}/zcajun/bots.cfg" "${XDG_CONFIG_HOME:-$HOME/.config}/gzdoom/" - sed -i "s;^\[IWADSearch.Directories\]$;[IWADSearch.Directories]\nPath=${doomPath};" "${XDG_CONFIG_HOME:-$HOME/.config}/gzdoom/gzdoom.ini" - sed -i "s;^\[FileSearch.Directories\]$;[FileSearch.Directories]\nPath=${doomPath};" "${XDG_CONFIG_HOME:-$HOME/.config}/gzdoom/gzdoom.ini" - sed -i "s;^\[SoundfontSearch.Directories\]$;[SoundfontSearch.Directories]\nPath=${doomPath}/fm_banks\nPath=${doomPath}/soundfonts;" "${XDG_CONFIG_HOME:-$HOME/.config}/gzdoom/gzdoom.ini" + sed -i "s;^\[IWADSearch.Directories\]$;[IWADSearch.Directories]\nPath=${doomPath}\nPath=${installPath}/doom;" "${XDG_CONFIG_HOME:-$HOME/.config}/gzdoom/gzdoom.ini" + sed -i "s;^\[FileSearch.Directories\]$;[FileSearch.Directories]\nPath=${doomPath}\nPath=${installPath}/doom;" "${XDG_CONFIG_HOME:-$HOME/.config}/gzdoom/gzdoom.ini" + sed -i "s;^\[SoundfontSearch.Directories\]$;[SoundfontSearch.Directories]\nPath=${doomPath}/fm_banks\nPath=${doomPath}/soundfonts\nPath=${installPath}/doom/soundfonts;" "${XDG_CONFIG_HOME:-$HOME/.config}/gzdoom/gzdoom.ini" # sed -i 's/Mouse1=+attack/CTRL=+attack/' "${XDG_CONFIG_HOME:-$HOME/.config}/gzdoom/gzdoom.ini" launcherPath="$(readlink -f "$0")" launcherPath="${launcherPath%/*}" From cd94e9f0a3010e3f560d8f4f09f00432fdbb2b73 Mon Sep 17 00:00:00 2001 From: Storm Dragon Date: Wed, 31 Jul 2024 02:57:55 -0400 Subject: [PATCH 15/23] Fixed some stuff I missed in the first pass. --- linux-game-manager.sh | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/linux-game-manager.sh b/linux-game-manager.sh index 067a985..e31ca6e 100755 --- a/linux-game-manager.sh +++ b/linux-game-manager.sh @@ -716,18 +716,15 @@ case "${game}" in # The url breaks the normal download function download_named "keyshare-universal.pk3" "https://forum.zdoom.org/download/file.php?id=42262" download "${ipfsGateway}/ipfs/QmW5xfL2Z3PQvwKyU34nFLr31dLNZaghjPc68VsA6hFjZD?filename=TobyAccessibilityMod_Version${tobyVersion}.zip" "${ipfsGateway}/ipfs/QmSKgXKDgu6z4NoDt6GWMhDSin8ABpd7oQDj6Tqsfk7xhQ?filename=OpMDK_ForV7-0.zip" - echo "The next step may require your password." - echo "It is necessary to move the extracted files into their proper place." - alert [[ -e "${cache}/DoomMetalVol6.wad" ]] && mv "${cache}/DoomMetalVol6.wad" "${installPath}/doom" [[ -e "${cache}/DoomMetalVol7.wad" ]] && sudo mv "${cache}/DoomMetalVol7.wad" "${installPath}/doom" unzip -n -d "${installPath}/doom" "${cache}/TobyAccessibilityMod_Version${tobyVersion}.zip" unzip -n -d "${installPath}/doom" "${cache}/OpMDK_ForV7-0.zip" - sudo cp -v "${cache}/keyshare-universal.pk3" "${installPath}/doom" + cp -v "${cache}/keyshare-universal.pk3" "${installPath}/doom" rm -fv "${installPath}/"*.{bat,exe} mkdir -p "${XDG_CONFIG_HOME:-$HOME/.config}/gzdoom" - cp "${doomPath}/TobyConfig.ini" "${XDG_CONFIG_HOME:-$HOME/.config}/gzdoom/gzdoom.ini" - cp "${doomPath}/zcajun/bots.cfg" "${XDG_CONFIG_HOME:-$HOME/.config}/gzdoom/" + cp "${installPath}/doom/TobyConfig.ini" "${XDG_CONFIG_HOME:-$HOME/.config}/gzdoom/gzdoom.ini" + cp "${installPath}/doom/zcajun/bots.cfg" "${XDG_CONFIG_HOME:-$HOME/.config}/gzdoom/" sed -i "s;^\[IWADSearch.Directories\]$;[IWADSearch.Directories]\nPath=${doomPath}\nPath=${installPath}/doom;" "${XDG_CONFIG_HOME:-$HOME/.config}/gzdoom/gzdoom.ini" sed -i "s;^\[FileSearch.Directories\]$;[FileSearch.Directories]\nPath=${doomPath}\nPath=${installPath}/doom;" "${XDG_CONFIG_HOME:-$HOME/.config}/gzdoom/gzdoom.ini" sed -i "s;^\[SoundfontSearch.Directories\]$;[SoundfontSearch.Directories]\nPath=${doomPath}/fm_banks\nPath=${doomPath}/soundfonts\nPath=${installPath}/doom/soundfonts;" "${XDG_CONFIG_HOME:-$HOME/.config}/gzdoom/gzdoom.ini" From cc5daa3988013f37f4d593abd2cd2f2c56acd04a Mon Sep 17 00:00:00 2001 From: Storm Dragon Date: Wed, 31 Jul 2024 16:17:22 -0400 Subject: [PATCH 16/23] Found and removed an unneeded call to sudo. --- linux-game-manager.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/linux-game-manager.sh b/linux-game-manager.sh index e31ca6e..c3639c1 100755 --- a/linux-game-manager.sh +++ b/linux-game-manager.sh @@ -717,7 +717,7 @@ case "${game}" in download_named "keyshare-universal.pk3" "https://forum.zdoom.org/download/file.php?id=42262" download "${ipfsGateway}/ipfs/QmW5xfL2Z3PQvwKyU34nFLr31dLNZaghjPc68VsA6hFjZD?filename=TobyAccessibilityMod_Version${tobyVersion}.zip" "${ipfsGateway}/ipfs/QmSKgXKDgu6z4NoDt6GWMhDSin8ABpd7oQDj6Tqsfk7xhQ?filename=OpMDK_ForV7-0.zip" [[ -e "${cache}/DoomMetalVol6.wad" ]] && mv "${cache}/DoomMetalVol6.wad" "${installPath}/doom" - [[ -e "${cache}/DoomMetalVol7.wad" ]] && sudo mv "${cache}/DoomMetalVol7.wad" "${installPath}/doom" + [[ -e "${cache}/DoomMetalVol7.wad" ]] && mv "${cache}/DoomMetalVol7.wad" "${installPath}/doom" unzip -n -d "${installPath}/doom" "${cache}/TobyAccessibilityMod_Version${tobyVersion}.zip" unzip -n -d "${installPath}/doom" "${cache}/OpMDK_ForV7-0.zip" cp -v "${cache}/keyshare-universal.pk3" "${installPath}/doom" From 5dfa0afe1fdbd914757f15698e1ef672123a226c Mon Sep 17 00:00:00 2001 From: Storm Dragon Date: Wed, 31 Jul 2024 16:33:48 -0400 Subject: [PATCH 17/23] First attempt at updating custom game scripts to use the new directory layout. Operation mdk with Project Brutality the only one so far. --- .../Project_Brutality_Operation_MDK.sh | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/.scripts/TobyCustom/Project_Brutality_Operation_MDK.sh b/.scripts/TobyCustom/Project_Brutality_Operation_MDK.sh index 3f135de..5a31466 100755 --- a/.scripts/TobyCustom/Project_Brutality_Operation_MDK.sh +++ b/.scripts/TobyCustom/Project_Brutality_Operation_MDK.sh @@ -3,20 +3,21 @@ # Set the current path to the Doom path required by some OS. pushd "${doomPath}" +gamePath=~/.local/games/doom # Set up the pk3 and wad files gameOption=( - "${doomPath}/TobyAccMod_V${tobyVersion}.pk3" - "${doomPath}/PB-Toby-Compatibility-Addon.pk3" - "${doomPath}/Toby-Universal-Pickup-Beacon-Prototype.pk3" - "${doomPath}/OpMDK.wad" - "$(find /usr/share/games/ -name 'Project_Brutality-master.pk3')" + "${gamePath}/TobyAccMod_V${tobyVersion}.pk3" + "${gamePath}/PB-Toby-Compatibility-Addon.pk3" + "${gamePath}/Toby-Universal-Pickup-Beacon-Prototype.pk3" + "${gamePath}/OpMDK.wad" + "$(find /usr/share/games/ -name 'Project_Brutality-master.pk3' -o \( -path "$gamePath/*" -type f \))" ) # Check for and include if present a wad. Some people may not have it. -if [[ -e "${doomPath}/DoomMetalVol7.wad" ]]; then - gameOption+=("${doomPath}/DoomMetalVol7.wad") -elif [[ -e "${doomPath}/DoomMetalVol6.wad" ]]; then - gameOption+=("${doomPath}/DoomMetalVol6.wad") +if [[ -e "${gamePath}/DoomMetalVol7.wad" ]]; then + gameOption+=("${gamePath}/DoomMetalVol7.wad") +elif [[ -e "${gamePath}/DoomMetalVol6.wad" ]]; then + gameOption+=("${gamePath}/DoomMetalVol6.wad") fi # Source common variable extensions. From c73987f72692ebc031aed393159d50a73f90c52a Mon Sep 17 00:00:00 2001 From: Storm Dragon Date: Wed, 31 Jul 2024 16:55:22 -0400 Subject: [PATCH 18/23] Broke the find statement, hopefully fixed now. --- .scripts/TobyCustom/Project_Brutality_Operation_MDK.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.scripts/TobyCustom/Project_Brutality_Operation_MDK.sh b/.scripts/TobyCustom/Project_Brutality_Operation_MDK.sh index 5a31466..b427d3f 100755 --- a/.scripts/TobyCustom/Project_Brutality_Operation_MDK.sh +++ b/.scripts/TobyCustom/Project_Brutality_Operation_MDK.sh @@ -10,7 +10,8 @@ gameOption=( "${gamePath}/PB-Toby-Compatibility-Addon.pk3" "${gamePath}/Toby-Universal-Pickup-Beacon-Prototype.pk3" "${gamePath}/OpMDK.wad" - "$(find /usr/share/games/ -name 'Project_Brutality-master.pk3' -o \( -path "$gamePath/*" -type f \))" + "$(find /usr/share/games/ -name 'Project_Brutality-master.pk3')" + "$(find ~/.local/games/doom -name 'Project_Brutality-master.pk3')" ) # Check for and include if present a wad. Some people may not have it. From 72fd468a1512adbe7340b8844c287564577d0b52 Mon Sep 17 00:00:00 2001 From: Storm Dragon Date: Wed, 31 Jul 2024 17:48:58 -0400 Subject: [PATCH 19/23] Updated all the custom game scripts. --- .scripts/TobyCustom/Brutal_Death_Match.sh | 15 +++++--- .../Project_Brutality_Toby_Deluxe.sh | 19 ++++++---- .../TobyCustom/Project_Brutality_Toby_Demo.sh | 19 ++++++---- .scripts/TobyCustom/StarWars.sh | 37 ------------------- 4 files changed, 31 insertions(+), 59 deletions(-) delete mode 100755 .scripts/TobyCustom/StarWars.sh diff --git a/.scripts/TobyCustom/Brutal_Death_Match.sh b/.scripts/TobyCustom/Brutal_Death_Match.sh index b2a5304..f414a9e 100755 --- a/.scripts/TobyCustom/Brutal_Death_Match.sh +++ b/.scripts/TobyCustom/Brutal_Death_Match.sh @@ -2,13 +2,16 @@ pushd "$doomPath" +gamePath=~/.local/games/doom + # Set up the pk3 and wad files gameOption=( - "${doomPath}/TobyAccMod_V${tobyVersion}.pk3" - "${doomPath}/PB-Toby-Compatibility-Addon.pk3" - "${doomPath}/Toby-Universal-Pickup-Beacon-Prototype.pk3" + "${gamePath}/TobyAccMod_V${tobyVersion}.pk3" + "${gamePath}/PB-Toby-Compatibility-Addon.pk3" + "${gamePath}/Toby-Universal-Pickup-Beacon-Prototype.pk3" "$(find /usr/share/games/ -name 'Project_Brutality-master.pk3')" - "${doomPath}/TobyDeathArena_V1-0.wad" + "$(find ~/.local/games/doom -name 'Project_Brutality-master.pk3')" + "${gamePath}/TobyDeathArena_V1-0.wad" ) # Death match setup @@ -97,9 +100,9 @@ else fi # Check for and include if present a wad. Some people may not have it. -if [[ -e "${doomPath}/DoomMetalVol7.wad" ]]; then +if [[ -e "${gamePath}/DoomMetalVol7.wad" ]]; then gameOption+=" DoomMetalVol7.wad" -elif [[ -e "${doomPath}/DoomMetalVol6.wad" ]]; then +elif [[ -e "${gamePath}/DoomMetalVol6.wad" ]]; then gameOption+=" DoomMetalVol6.wad" fi diff --git a/.scripts/TobyCustom/Project_Brutality_Toby_Deluxe.sh b/.scripts/TobyCustom/Project_Brutality_Toby_Deluxe.sh index 9e8cbcd..5921b59 100755 --- a/.scripts/TobyCustom/Project_Brutality_Toby_Deluxe.sh +++ b/.scripts/TobyCustom/Project_Brutality_Toby_Deluxe.sh @@ -3,20 +3,23 @@ # Set the current path to the Doom path required by some OS. pushd "${doomPath}" +gamePath=~/.local/games/doom + # Set up the pk3 and wad files gameOption=( - "${doomPath}/TobyAccMod_V${tobyVersion}.pk3" - "${doomPath}/PB-Toby-Compatibility-Addon.pk3" - "${doomPath}/Toby-Universal-Pickup-Beacon-Prototype.pk3" - "${doomPath}/TobyDoomLevels.wad" + "${gamePath}/TobyAccMod_V${tobyVersion}.pk3" + "${gamePath}/PB-Toby-Compatibility-Addon.pk3" + "${gamePath}/Toby-Universal-Pickup-Beacon-Prototype.pk3" + "${gamePath}/TobyDoomLevels.wad" "$(find /usr/share/games/ -name 'Project_Brutality-master.pk3')" + "$(find ~/.local/games/doom -name 'Project_Brutality-master.pk3')" ) # Check for and include if present a wad. Some people may not have it. -if [[ -e "${doomPath}/DoomMetalVol7.wad" ]]; then - gameOption+=("${doomPath}/DoomMetalVol7.wad") -elif [[ -e "${doomPath}/DoomMetalVol6.wad" ]]; then - gameOption+=("${doomPath}/DoomMetalVol6.wad") +if [[ -e "${gamePath}/DoomMetalVol7.wad" ]]; then + gameOption+=("${gamePath}/DoomMetalVol7.wad") +elif [[ -e "${gamePath}/DoomMetalVol6.wad" ]]; then + gameOption+=("${gamePath}/DoomMetalVol6.wad") fi # Source common variable extensions. diff --git a/.scripts/TobyCustom/Project_Brutality_Toby_Demo.sh b/.scripts/TobyCustom/Project_Brutality_Toby_Demo.sh index 6db0516..2c0e645 100755 --- a/.scripts/TobyCustom/Project_Brutality_Toby_Demo.sh +++ b/.scripts/TobyCustom/Project_Brutality_Toby_Demo.sh @@ -3,20 +3,23 @@ # Set the current path to the Doom path required by some OS. pushd "${doomPath}" +gamePath=~/.local/games/doom + # Set up the pk3 and wad files gameOption=( - "${doomPath}/TobyAccMod_V${tobyVersion}.pk3" - "${doomPath}/PB-Toby-Compatibility-Addon.pk3" - "${doomPath}/Toby-Universal-Pickup-Beacon-Prototype.pk3" - "${doomPath}/Toby-Demo-Level.wad" + "${gamePath}/TobyAccMod_V${tobyVersion}.pk3" + "${gamePath}/PB-Toby-Compatibility-Addon.pk3" + "${gamePath}/Toby-Universal-Pickup-Beacon-Prototype.pk3" + "${gamePath}/Toby-Demo-Level.wad" "$(find /usr/share/games/ -name 'Project_Brutality-master.pk3')" + "$(find ~/.local/games/doom -name 'Project_Brutality-master.pk3')" ) # Check for and include if present a wad. Some people may not have it. -if [[ -e "${doomPath}/DoomMetalVol7.wad" ]]; then - gameOption+=("${doomPath}/DoomMetalVol7.wad") -elif [[ -e "${doomPath}/DoomMetalVol6.wad" ]]; then - gameOption+=("${doomPath}/DoomMetalVol6.wad") +if [[ -e "${gamePath}/DoomMetalVol7.wad" ]]; then + gameOption+=("${gamePath}/DoomMetalVol7.wad") +elif [[ -e "${gamePath}/DoomMetalVol6.wad" ]]; then + gameOption+=("${gamePath}/DoomMetalVol6.wad") fi # Source common variable extensions. diff --git a/.scripts/TobyCustom/StarWars.sh b/.scripts/TobyCustom/StarWars.sh deleted file mode 100755 index b097c3a..0000000 --- a/.scripts/TobyCustom/StarWars.sh +++ /dev/null @@ -1,37 +0,0 @@ -#!/usr/bin/env bash - -# Set the current path to the Doom path required by some OS. -pushd "${doomPath}" - -# Add all the TobyDoom stuff we need, exclude things we do not. -mapfile -t addons < <(find "${doomPath}/Addons/" -type f -iname "TobyV${tobyVersion%%-*}_*" \ - -not -iname "TobyV${tobyVersion%%-*}_Decorations.pk3" \ - -not -iname "TobyV${tobyVersion%%-*}_Monsters.pk3" -) - -# Set up the pk3 and wad files -gameOption=( - "$(find "${doomPath}" -iname 'Xim-StarWars*.pk3')" - "${doomPath}/TobyAccMod_V${tobyVersion}.pk3" - ${addons[@]} - "${doomPath}/TobyDoomLevels.wad" -) - -# Check for and include if present a wad. Some people may not have it. -if [[ -e "${doomPath}/DoomMetalVol6.wad" ]]; then - gameOption+=("${doomPath}/DoomMetalVol6.wad") -fi - -# Extend the search for new messages to be read. -grepStrings+=('-e' 'New PDA Entry:' - '-e' ' died.' - '-e' ' has been ' - '-e' 'Lesser demon energy' - '-e' '^\([^?]*\)\(was\)\([^?]*\)$' - '-e' 'Got the ' - '-e' "You've found " - '-e' 'Slot ') - -# Launch the game and pipe things to be spoken through speech-dispatcher. -# This also leaves the console output intact for people who may want to read it. -exec stdbuf -oL ${gzdoom} ${gameOption[@]} | while IFS= read -r l ; do echo "$l" | { grep "${grepStrings[@]}" | grep "${antiGrepStrings[@]}" | sed "${sedStrings[@]}" | spd-say -e ${spd_module} ${spd_pitch} ${spd_rate} ${spd_voice} ${spd_volume} -- > /dev/null 2>&1; }; echo "$l";done From b2eee7fc4622e3b4cf922d3567beb64afea9f938 Mon Sep 17 00:00:00 2001 From: Storm Dragon Date: Thu, 8 Aug 2024 23:59:36 -0400 Subject: [PATCH 20/23] Started update process to TobyDoom v7.5 --- .scripts/FreeDoom.sh | 6 +++++- linux-game-manager.sh | 9 ++++++--- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/.scripts/FreeDoom.sh b/.scripts/FreeDoom.sh index 6bd2b50..518c373 100755 --- a/.scripts/FreeDoom.sh +++ b/.scripts/FreeDoom.sh @@ -14,7 +14,7 @@ export doomPath="$(find /usr/share -type d -name "doom" 2> /dev/null | head -1)" export gzdoom="$(command -v gzdoom)" # Version of the accessibility mod -export tobyVersion="7-0" +export tobyVersion="7-5" doomGames=( @@ -26,6 +26,10 @@ doomGames=( "TobyAccMod_V${tobyVersion}.pk3 TobyDoomLevels.wad ""$gamePath/Addons/TobyV${tobyVersion%%-*}_"* "Freedoom Toby Delux Map Pack" # OperationMDK "TobyAccMod_V${tobyVersion}.pk3 OpMDK.wad ""$gamePath/Addons/TobyV${tobyVersion%%-*}_"* "Freedoom OperationMDK" + # Unmodified Heretic with accessibility + "TobyAccMod_V${tobyVersion}.pk3 ""$gamePath/Addons/HERETIC/TobyHeretic"* "Classic Heretic" + # Heretic accessibility mods + "TobyAccMod_V${tobyVersion}.pk3 TobyHereticLevels.wad ""$gamePath/Addons/HERETIC/TobyHeretic"* "Toby Heretic" "custom_game" "Custom Game" ) diff --git a/linux-game-manager.sh b/linux-game-manager.sh index c3639c1..1c8f46c 100755 --- a/linux-game-manager.sh +++ b/linux-game-manager.sh @@ -676,14 +676,14 @@ case "${game}" in add_launcher "${installPath}/FS2_2.7_Linux/fs2.x86_64" "-ESpeakApplication=espeak-ng" ;; "Freedoom") - tobyVersion="7-0" + tobyVersion="7-5" mkdir -p "${installPath}/doom" doomPath="$(find /usr/share -type d -name "doom" 2> /dev/null)" if [[ ${#doomPath} -lt 5 ]]; then dialog --backtitle "Linux Game Manager" \ --yesno "Do you want Linux Game Manager to install freedoom and gzdoom for you? If you want to do this manually, select no." -1 -1 --stdout || exit 0 if command -v yay &> /dev/null ; then - yay -Sy --noconfirm --sudoloop freedoom gzdoom freedm + yay -Sy --noconfirm --sudoloop freedoom gzdoom freedm blasphemer-wad elif command -v slapt-src &> /dev/null ; then su -c 'slapt-src -i freedoom gzdoom' elif command -v dnf &> /dev/null ; then @@ -715,13 +715,16 @@ case "${game}" in fi # The url breaks the normal download function download_named "keyshare-universal.pk3" "https://forum.zdoom.org/download/file.php?id=42262" - download "${ipfsGateway}/ipfs/QmW5xfL2Z3PQvwKyU34nFLr31dLNZaghjPc68VsA6hFjZD?filename=TobyAccessibilityMod_Version${tobyVersion}.zip" "${ipfsGateway}/ipfs/QmSKgXKDgu6z4NoDt6GWMhDSin8ABpd7oQDj6Tqsfk7xhQ?filename=OpMDK_ForV7-0.zip" + download "${ipfsGateway}/ipfs/QmV4y13thaiHSsYKNrD4arKg2JQ5hextb3GP6aidwvGo3h?filename=TobyAccessibilityMod_Version${tobyVersion}.zip" "${ipfsGateway}/ipfs/QmSKgXKDgu6z4NoDt6GWMhDSin8ABpd7oQDj6Tqsfk7xhQ?filename=OpMDK_ForV7-0.zip" [[ -e "${cache}/DoomMetalVol6.wad" ]] && mv "${cache}/DoomMetalVol6.wad" "${installPath}/doom" [[ -e "${cache}/DoomMetalVol7.wad" ]] && mv "${cache}/DoomMetalVol7.wad" "${installPath}/doom" unzip -n -d "${installPath}/doom" "${cache}/TobyAccessibilityMod_Version${tobyVersion}.zip" unzip -n -d "${installPath}/doom" "${cache}/OpMDK_ForV7-0.zip" cp -v "${cache}/keyshare-universal.pk3" "${installPath}/doom" rm -fv "${installPath}/"*.{bat,exe} + if [[ -e /usr/share/doom/blasphem.wad ]]; then + ln -s /usr/share/doom/blasphem.wad "${installPath}/doom/" + fi mkdir -p "${XDG_CONFIG_HOME:-$HOME/.config}/gzdoom" cp "${installPath}/doom/TobyConfig.ini" "${XDG_CONFIG_HOME:-$HOME/.config}/gzdoom/gzdoom.ini" cp "${installPath}/doom/zcajun/bots.cfg" "${XDG_CONFIG_HOME:-$HOME/.config}/gzdoom/" From 75841e29e9fb216b6b4a22fa71b6ffabbbdc755b Mon Sep 17 00:00:00 2001 From: Storm Dragon Date: Fri, 9 Aug 2024 00:18:34 -0400 Subject: [PATCH 21/23] Fixed a bug in removing files. --- linux-game-manager.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/linux-game-manager.sh b/linux-game-manager.sh index 1c8f46c..99af308 100755 --- a/linux-game-manager.sh +++ b/linux-game-manager.sh @@ -721,7 +721,7 @@ case "${game}" in unzip -n -d "${installPath}/doom" "${cache}/TobyAccessibilityMod_Version${tobyVersion}.zip" unzip -n -d "${installPath}/doom" "${cache}/OpMDK_ForV7-0.zip" cp -v "${cache}/keyshare-universal.pk3" "${installPath}/doom" - rm -fv "${installPath}/"*.{bat,exe} + rm -fv "${installPath}/doom/"*.{bat,dll,exe} if [[ -e /usr/share/doom/blasphem.wad ]]; then ln -s /usr/share/doom/blasphem.wad "${installPath}/doom/" fi From 6666ccb0dfdd60b876a412b4a54ba67de1a00a77 Mon Sep 17 00:00:00 2001 From: Storm Dragon Date: Fri, 9 Aug 2024 13:47:24 -0400 Subject: [PATCH 22/23] updated IPFS hash for OperationMDK. --- linux-game-manager.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/linux-game-manager.sh b/linux-game-manager.sh index 99af308..98b59ca 100755 --- a/linux-game-manager.sh +++ b/linux-game-manager.sh @@ -715,7 +715,7 @@ case "${game}" in fi # The url breaks the normal download function download_named "keyshare-universal.pk3" "https://forum.zdoom.org/download/file.php?id=42262" - download "${ipfsGateway}/ipfs/QmV4y13thaiHSsYKNrD4arKg2JQ5hextb3GP6aidwvGo3h?filename=TobyAccessibilityMod_Version${tobyVersion}.zip" "${ipfsGateway}/ipfs/QmSKgXKDgu6z4NoDt6GWMhDSin8ABpd7oQDj6Tqsfk7xhQ?filename=OpMDK_ForV7-0.zip" + download "${ipfsGateway}/ipfs/QmV4y13thaiHSsYKNrD4arKg2JQ5hextb3GP6aidwvGo3h?filename=TobyAccessibilityMod_Version${tobyVersion}.zip" "${ipfsGateway}/ipfs/QmNUfYa5P9J6EaDZoGvsiG2ArMR3BCc3gTcW3wPo1HABLU?filename=OpMDK_ForV${tobyVersion}.zip" [[ -e "${cache}/DoomMetalVol6.wad" ]] && mv "${cache}/DoomMetalVol6.wad" "${installPath}/doom" [[ -e "${cache}/DoomMetalVol7.wad" ]] && mv "${cache}/DoomMetalVol7.wad" "${installPath}/doom" unzip -n -d "${installPath}/doom" "${cache}/TobyAccessibilityMod_Version${tobyVersion}.zip" From f282559573d4848c1504951ed25205e9e22b9c3f Mon Sep 17 00:00:00 2001 From: Storm Dragon Date: Fri, 9 Aug 2024 19:21:05 -0400 Subject: [PATCH 23/23] Updated ipfs link to latest version of 7.5 with bug fix. Updated custom scripts. --- .scripts/FreeDoom.sh | 4 ++++ .scripts/TobyCustom/Brutal_Death_Match.sh | 2 -- .scripts/TobyCustom/Project_Brutality_Operation_MDK.sh | 2 -- .scripts/TobyCustom/Project_Brutality_Toby_Deluxe.sh | 1 - .scripts/TobyCustom/Project_Brutality_Toby_Demo.sh | 1 - linux-game-manager.sh | 2 +- 6 files changed, 5 insertions(+), 7 deletions(-) diff --git a/.scripts/FreeDoom.sh b/.scripts/FreeDoom.sh index 518c373..fd05c26 100755 --- a/.scripts/FreeDoom.sh +++ b/.scripts/FreeDoom.sh @@ -36,10 +36,12 @@ doomGames=( export antiGrepStrings=( '-E' '-v' '-e' '^Resolution:' + '-e' '^READMe(\d+).*' ) export grepStrings=( '-E' + '-e' '^\[Toby Accessibility Mod\]' '-e' '^[A-Z][0-9a-z]+: .+' '-e' 'is now known as' '-e' '.+ punched .+ to death\.' @@ -63,6 +65,8 @@ export grepStrings=( ) export sedStrings=( + '-e' 's/^\[Toby Accessibility Mod\] M_/[Toby Accessibility Mod] /' + '-e' 's/^\[Toby Accessibility Mod\] //' '-e' 's/"cl_run" = "true"/run/' '-e' 's/"cl_run" = "false"/walk/' '-e' 's:.*/:Game saved. (:' diff --git a/.scripts/TobyCustom/Brutal_Death_Match.sh b/.scripts/TobyCustom/Brutal_Death_Match.sh index f414a9e..4b1f240 100755 --- a/.scripts/TobyCustom/Brutal_Death_Match.sh +++ b/.scripts/TobyCustom/Brutal_Death_Match.sh @@ -7,8 +7,6 @@ gamePath=~/.local/games/doom # Set up the pk3 and wad files gameOption=( "${gamePath}/TobyAccMod_V${tobyVersion}.pk3" - "${gamePath}/PB-Toby-Compatibility-Addon.pk3" - "${gamePath}/Toby-Universal-Pickup-Beacon-Prototype.pk3" "$(find /usr/share/games/ -name 'Project_Brutality-master.pk3')" "$(find ~/.local/games/doom -name 'Project_Brutality-master.pk3')" "${gamePath}/TobyDeathArena_V1-0.wad" diff --git a/.scripts/TobyCustom/Project_Brutality_Operation_MDK.sh b/.scripts/TobyCustom/Project_Brutality_Operation_MDK.sh index b427d3f..38f0212 100755 --- a/.scripts/TobyCustom/Project_Brutality_Operation_MDK.sh +++ b/.scripts/TobyCustom/Project_Brutality_Operation_MDK.sh @@ -7,8 +7,6 @@ gamePath=~/.local/games/doom # Set up the pk3 and wad files gameOption=( "${gamePath}/TobyAccMod_V${tobyVersion}.pk3" - "${gamePath}/PB-Toby-Compatibility-Addon.pk3" - "${gamePath}/Toby-Universal-Pickup-Beacon-Prototype.pk3" "${gamePath}/OpMDK.wad" "$(find /usr/share/games/ -name 'Project_Brutality-master.pk3')" "$(find ~/.local/games/doom -name 'Project_Brutality-master.pk3')" diff --git a/.scripts/TobyCustom/Project_Brutality_Toby_Deluxe.sh b/.scripts/TobyCustom/Project_Brutality_Toby_Deluxe.sh index 5921b59..1c4814b 100755 --- a/.scripts/TobyCustom/Project_Brutality_Toby_Deluxe.sh +++ b/.scripts/TobyCustom/Project_Brutality_Toby_Deluxe.sh @@ -9,7 +9,6 @@ gamePath=~/.local/games/doom gameOption=( "${gamePath}/TobyAccMod_V${tobyVersion}.pk3" "${gamePath}/PB-Toby-Compatibility-Addon.pk3" - "${gamePath}/Toby-Universal-Pickup-Beacon-Prototype.pk3" "${gamePath}/TobyDoomLevels.wad" "$(find /usr/share/games/ -name 'Project_Brutality-master.pk3')" "$(find ~/.local/games/doom -name 'Project_Brutality-master.pk3')" diff --git a/.scripts/TobyCustom/Project_Brutality_Toby_Demo.sh b/.scripts/TobyCustom/Project_Brutality_Toby_Demo.sh index 2c0e645..d5ee610 100755 --- a/.scripts/TobyCustom/Project_Brutality_Toby_Demo.sh +++ b/.scripts/TobyCustom/Project_Brutality_Toby_Demo.sh @@ -9,7 +9,6 @@ gamePath=~/.local/games/doom gameOption=( "${gamePath}/TobyAccMod_V${tobyVersion}.pk3" "${gamePath}/PB-Toby-Compatibility-Addon.pk3" - "${gamePath}/Toby-Universal-Pickup-Beacon-Prototype.pk3" "${gamePath}/Toby-Demo-Level.wad" "$(find /usr/share/games/ -name 'Project_Brutality-master.pk3')" "$(find ~/.local/games/doom -name 'Project_Brutality-master.pk3')" diff --git a/linux-game-manager.sh b/linux-game-manager.sh index 98b59ca..3745cb1 100755 --- a/linux-game-manager.sh +++ b/linux-game-manager.sh @@ -715,7 +715,7 @@ case "${game}" in fi # The url breaks the normal download function download_named "keyshare-universal.pk3" "https://forum.zdoom.org/download/file.php?id=42262" - download "${ipfsGateway}/ipfs/QmV4y13thaiHSsYKNrD4arKg2JQ5hextb3GP6aidwvGo3h?filename=TobyAccessibilityMod_Version${tobyVersion}.zip" "${ipfsGateway}/ipfs/QmNUfYa5P9J6EaDZoGvsiG2ArMR3BCc3gTcW3wPo1HABLU?filename=OpMDK_ForV${tobyVersion}.zip" + download "${ipfsGateway}/ipfs/QmNtn1bugWQg2Y8rB29FH6zYzthsebxmpuMcHcErprzx3z?filename=TobyAccessibilityMod_Version${tobyVersion}.zip" "${ipfsGateway}/ipfs/QmNUfYa5P9J6EaDZoGvsiG2ArMR3BCc3gTcW3wPo1HABLU?filename=OpMDK_ForV${tobyVersion}.zip" [[ -e "${cache}/DoomMetalVol6.wad" ]] && mv "${cache}/DoomMetalVol6.wad" "${installPath}/doom" [[ -e "${cache}/DoomMetalVol7.wad" ]] && mv "${cache}/DoomMetalVol7.wad" "${installPath}/doom" unzip -n -d "${installPath}/doom" "${cache}/TobyAccessibilityMod_Version${tobyVersion}.zip"