Rename dcc to dcc.sh for incoming shenanigans.
This commit is contained in:
parent
305f17ce5f
commit
8b71dd1e4a
2 changed files with 1 additions and 1 deletions
121
dcc.sh
Executable file
121
dcc.sh
Executable file
|
@ -0,0 +1,121 @@
|
|||
#!/bin/bash
|
||||
|
||||
if [[ $# != 3 ]]; then
|
||||
echo "Usage: $0 <command> <pwad> <map>" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
PWAD="$2"
|
||||
MAP="$3"
|
||||
COMMAND=()
|
||||
DSDA="${HOME}/dsda-doom/dsda-0.28.3"
|
||||
PWADPATH="${HOME}/doom/pwads/${PWAD}"
|
||||
DEMOPATH="${HOME}/doom/demos/${PWAD}"
|
||||
VIDPATH="${HOME}/doom/fabricate/${PWAD}"
|
||||
MAPSTR="$(tr ' ' '-' <<< "${MAP}")"
|
||||
MAPFILE="${PWAD}_map${MAPSTR}"
|
||||
DEMONAME="${MAPFILE}.lmp"
|
||||
DEMO_IN="$(ls "${DEMOPATH}/${MAPFILE}"* -t | head -1)"
|
||||
|
||||
if ! [[ -e "${PWADPATH}" ]]; then
|
||||
echo "PWAD ${PWAD} not found." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
case $1 in
|
||||
"play")
|
||||
;;
|
||||
"record")
|
||||
mkdir -p "${DEMOPATH}"
|
||||
COMMAND=("-record" "${DEMOPATH}/${PWAD}_map${MAPSTR}.lmp")
|
||||
;;
|
||||
"fabricate")
|
||||
mkdir -p "${VIDPATH}"
|
||||
COMMAND=("-timedemo" "${DEMO_IN}" "-viddump" "${VIDPATH}/${PWAD}_map${MAPSTR}.mp4")
|
||||
;;
|
||||
"put")
|
||||
s3cmd put -P --content-type=binary/octet-stream "${DEMO_IN}" "s3://yrriban/doom/${MAPFILE}.lmp"
|
||||
exit $?
|
||||
;;
|
||||
"pb")
|
||||
ffplay "${HOME}/doom/fabricate/${PWAD}/${PWAD}_map${MAPSTR}.mp4"
|
||||
exit $?
|
||||
;;
|
||||
"ss")
|
||||
convert x: +repage -crop '1280x720+0+0' -gravity center +repage "${HOME}/doom/fabricate/${PWAD}/${PWAD}_map${MAPSTR}_base.png"
|
||||
exit $?
|
||||
;;
|
||||
"check")
|
||||
identify "${HOME}/doom/fabricate/${PWAD}/${PWAD}_map${MAPSTR}_base.png"
|
||||
display "${HOME}/doom/fabricate/${PWAD}/${PWAD}_map${MAPSTR}_base.png"
|
||||
exit $?
|
||||
;;
|
||||
"nmtext")
|
||||
LABEL="$(printf "%s\nUV-Max Demo" "$(cat -)")"
|
||||
convert -background transparent -fill white -font "League-Spartan-Bold" -strokewidth 10 \
|
||||
-stroke "srgb(176,0,0)" -interline-spacing -10 -pointsize 64 -trim +repage -border 5 \
|
||||
-bordercolor transparent -gravity NorthWest \
|
||||
label:"${LABEL}" -stroke none -strokewidth 0 -annotate +8+6 "${LABEL}" \
|
||||
"${HOME}/doom/fabricate/${PWAD}/${PWAD}_map${MAPSTR}_text.png"
|
||||
exit $?
|
||||
;;
|
||||
"text")
|
||||
LABEL="$(printf "MAP%s: %s\nUV-Max Demo" "${MAPSTR}" "$(cat -)")"
|
||||
convert -background transparent -fill white -font "League-Spartan-Bold" -strokewidth 10 \
|
||||
-stroke "srgb(176,0,0)" -interline-spacing -10 -pointsize 64 -trim +repage -border 5 \
|
||||
-bordercolor transparent -gravity NorthWest \
|
||||
label:"${LABEL}" -stroke none -strokewidth 0 -annotate +8+6 "${LABEL}" \
|
||||
"${HOME}/doom/fabricate/${PWAD}/${PWAD}_map${MAPSTR}_text.png"
|
||||
exit $?
|
||||
;;
|
||||
"tysontext")
|
||||
read TEXT
|
||||
LABEL="$(printf "MAP%s: %s\nUV-Tyson-Max Demo" "${MAPSTR}" "${TEXT}")"
|
||||
convert -background transparent -fill white -font "League-Spartan-Bold" -strokewidth 10 \
|
||||
-stroke "srgb(176,0,0)" -interline-spacing -10 -pointsize 64 -trim +repage -border 5 \
|
||||
-bordercolor transparent -gravity NorthWest \
|
||||
label:"${LABEL}" -stroke none -strokewidth 0 -annotate +8+6 "${LABEL}" \
|
||||
"${HOME}/doom/fabricate/${PWAD}/${PWAD}_map${MAPSTR}_text.png"
|
||||
exit $?
|
||||
;;
|
||||
"thumb")
|
||||
convert "${VIDPATH}/${PWAD}_map${MAPSTR}_base.png" "${VIDPATH}/M_DOOM_scaled.png" -gravity NorthWest -composite "${VIDPATH}/${PWAD}_map${MAPSTR}_text.png" -gravity SouthWest -composite "${VIDPATH}/${PWAD}_map${MAPSTR}_final.png"
|
||||
exit $?
|
||||
;;
|
||||
"dithumb")
|
||||
convert "${VIDPATH}/${PWAD}_map${MAPSTR}_base.png" "${VIDPATH}/M_DOOM_scaled.png" -gravity NorthWest -composite "${VIDPATH}/${PWAD}_map${MAPSTR}_text.png" -gravity SouthWest -composite "${HOME}/doom/fabricate/doomed_index.png" -gravity NorthEast -composite "${VIDPATH}/${PWAD}_map${MAPSTR}_final.png"
|
||||
exit $?
|
||||
;;
|
||||
*)
|
||||
echo "Unknown command $1." >&2
|
||||
exit 1
|
||||
esac
|
||||
|
||||
WADS=()
|
||||
readarray -d '' WADS < <(find "${PWADPATH}" -maxdepth 1 -iname '*.wad' -print0 | sort -z)
|
||||
if ! [[ -z "${WADS[@]}" ]]; then
|
||||
WADS=("-file" "${WADS[@]}")
|
||||
# otherwise, assume it's an iwad alone.
|
||||
fi
|
||||
|
||||
IWAD=("-iwad" "${HOME}/doom/iwads/DOOM2.WAD")
|
||||
if [[ -e "${PWADPATH}/iwad" ]]; then
|
||||
IWAD=("-iwad" "${HOME}/doom/iwads/$(< "${PWADPATH}/iwad").WAD")
|
||||
fi
|
||||
|
||||
readarray -d '' DEH < <(find "${PWADPATH}" -maxdepth 1 -iname '*.deh' -print0)
|
||||
if ! [[ -z "${DEH[@]}" ]]; then
|
||||
DEH=("-deh" "${DEH[@]}")
|
||||
fi
|
||||
if ! [[ -e "${PWADPATH}/complevel" ]]; then
|
||||
echo "No complevel set in PWAD dir ${PWADPATH}." >&2
|
||||
exit 1
|
||||
fi
|
||||
COMPLEVEL=("-complevel" "$(< "${PWADPATH}/complevel")")
|
||||
OPTIONS=()
|
||||
if [[ -e "${PWADPATH}/options" ]]; then
|
||||
OPTIONS=("-assign" "$(< "${PWADPATH}/options")")
|
||||
fi
|
||||
# TODO: properly split MAP into an array in case this is a UDoom wad.
|
||||
"${DSDA}" -skill 4 -warp ${MAP} \
|
||||
"${IWAD[@]}" "${WADS[@]}" "${DEH[@]}" "${COMPLEVEL[@]}" "${OPTIONS[@]}" "${COMMAND[@]}"
|
Loading…
Add table
Add a link
Reference in a new issue