doomGetRandomMapFromPwadWadtools.sh 1.4 KB

12345678910111213141516171819202122232425262728293031323334
  1. #!/bin/sh
  2. param_iwad="$1"
  3. param_pwad="$2"
  4. param_game_dir="$HOME/games/doom"
  5. config_iwad=$(find $HOME/games/doom/wads/iwads/${param_iwad}.wad)
  6. #echo "INFO: iwad file: $config_iwad"
  7. pwadfilename=$(echo ${param_pwad} | awk -F/ '{print $10}')
  8. pwadfilename=$(basename -- "${pwadfilename%.*}")
  9. #echo "PWAD name: $pwadfilename"
  10. installed_bin=$(whereis wadxtract)
  11. compiled_bin="$HOME/src/wadtools/build/wadxtract"
  12. cd /tmp
  13. rm -rf wadxtract
  14. mkdir -p wadxtract
  15. cd wadxtract
  16. #$(if [ ! -z $installed_bin ]; then echo "wadxtract"; else if [ -f "$compiled_bin" ]; then echo "$compiled_bin"; fi; fi) \
  17. $compiled_bin \
  18. $param_pwad . > wadxtract_output
  19. if [ "$param_iwad" = "doom2" ] || [ "$param_iwad" = "plutonia" ] || [ "$param_iwad" = "tnt" ]; then
  20. pwadmap=$(cat wadxtract_output | grep -e "Extracting MAP" -e " maps/" | awk '{print $2}' | sed -e "s/^MAP//" -e 's/,//g' | shuf -n 1)
  21. elif [ "$param_iwad" = "doom" ]; then
  22. pwadmap=$(cat wadxtract_output | grep -e "Extracting E[1-5]M" | awk '{print $2}' | shuf -n 1 | sed -r 's/[EM]+/ /g' | sed -e "s/^0//" -e 's/,//g')
  23. elif [ "$param_iwad" = "heretic" ]; then
  24. pwadmap=$(cat wadxtract_output | grep -e "Extracting E[1-5]M" | awk '{print $2}' | shuf -n 1 | sed -r 's/[EM]+/ /g' | sed -e "s/^0//" -e 's/,//g')
  25. elif [ "$param_iwad" = "hexen" ]; then
  26. pwadmap=$(cat wadxtract_output | grep -e "Extracting E[1-5]M" | awk '{print $2}' | shuf -n 1 | sed -r 's/[EM]+/ /g' | sed -e "s/^0//" -e 's/,//g')
  27. fi
  28. echo "$pwadmap"