launchQuakespasm.sh 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. #!/bin/sh
  2. # fail if any commands fails
  3. #set -e
  4. # debug log
  5. #set -x
  6. if { [ -z "$1" ] || [ "$1" = -h ] || [ "$1" = --help ];}; then
  7. echo "Usage:"
  8. echo " $ $(basename "$0") [map]"
  9. echo " $ export retro=0 && $(basename "$0") [map]"
  10. echo " $ export retro=1 && $(basename "$0") [map]"
  11. echo ""
  12. echo "To list all available game and maps:"
  13. echo " $ $(basename "$0") --list|-l"
  14. echo ""
  15. exit
  16. fi
  17. if { [ "$1" = --list ] || [ "$1" = -l ];}; then
  18. find "$HOME"/games/quake/*/{maps/*.bsp,pak0.pak} -type f -printf "%T@ %Tc %p\n" | sort -rn | awk '{print $9}' >/dev/null 2>&1
  19. echo ""
  20. exit
  21. fi
  22. # set default options
  23. if { [ -z "$retro" ] || [ "$retro" = "0" ];}; then
  24. export r_lerpmodels=1
  25. export r_lerpmove=1
  26. export r_scale=1
  27. elif [ "$retro" = "1" ]; then
  28. export r_lerpmodels=0
  29. export r_lerpmove=0
  30. export r_scale=4
  31. else
  32. echo "invalid retro variable options, valid ones are 0 or 1, exiting"
  33. fi
  34. mapdir=$(dirname "$1")
  35. mapdir=$(awk -F/ '{print $(NF-1)}' <<< "${mapdir}")
  36. case "$1" in
  37. *.bsp*) mapname=$(basename -- "$1" ".bsp") ;;
  38. *.pak*) mapname=start ;;
  39. *) echo "ERROR map file name has correct extension? $1"; exit ;;
  40. esac
  41. if [ -f ~/src/quakespasm-quakespasm/Quake/quakespasm ]; then
  42. cd ~/src/quakespasm-quakespasm/Quake/ && ./quakespasm -width 1920 -height 1080 -fullscreen -basedir ~/games/quake/ -heapsize 256000 -zone 4096 -game "$mapdir" +map "$mapname" +skill 1 +mlook +r_particles 2 +r_lerpmodels $r_lerpmodels +r_lerpmove $r_lerpmove +r_viewmodel_quake 1 +r_scale $r_scale +scr_ofsx -2.8 +scr_sbaralpha 1 +v_gunkick 2 +gamma 1.2 +contrast 1.5 +fov 85 +fog 0.02 -fitz
  43. else
  44. quakespasm -width 1920 -height 1080 -fullscreen -basedir ~/games/quake/ -heapsize 256000 -zone 4096 -game "$mapdir" +map "$mapname" +skill 1 +mlook +r_particles 2 +r_lerpmodels $r_lerpmodels +r_lerpmove $r_lerpmove +r_viewmodel_quake 1 +r_scale $r_scale +scr_ofsx -2.8 +scr_sbaralpha 1 +v_gunkick 2 +gamma 1.2 +contrast 1.5 +fov 85 +fog 0.02 -fitz
  45. fi