#!/usr/bin/env bash # 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=( "${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')" ) # Check for and include if present a wad. Some people may not have it. 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. 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. 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