4cade/bin/generate-mini-attract-mode.sh

80 lines
2.2 KiB
Bash
Raw Normal View History

#!/bin/sh
# run from project root directory
cat res/games.conf |
tr "\r" "\n" |
grep "=" |
grep -v "^#" |
cut -d"," -f2 |
cut -d"=" -f1 | \
while read game; do
# if I knew how to use awk, this could be O(N) instead of O(N^2)
name=`cat res/games.conf | tr "\r" "\n" | grep ",$game=" | cut -d"=" -f2`
echo "$game"" ""$name"
# initialize attract mode configuration file for this game
2019-06-26 02:44:39 +00:00
echo "#\n# Attract mode for $name\n#\n" > /tmp/g
# add box art, if any
[ -f res/artwork.shr/"$game" ] &&
echo "ARTWORK.SHR/$game=C" >> /tmp/g
# add DHGR action screenshots, if any
cat res/ss/ACTDHGR*.CONF |
tr "\r" "\n" |
egrep "(^|=)""$game""$" |
cut -d"=" -f1 |
sed -e "s/^/ACTION.DHGR\//g" |
sed -e "s/$/=B/g" |
sort |
uniq >> /tmp/g
# add HGR action screenshots, if any
cat res/ss/ACTION*.CONF |
tr "\r" "\n" |
egrep "(^|=)""$game""$" |
cut -d"=" -f1 |
sed -e "s/^/ACTION.HGR\//g" |
sed -e "s/$/=A/g" |
sort |
uniq >> /tmp/g
# add GR action screenshots, if any
cat res/ss/ACTGR*.CONF |
tr "\r" "\n" |
egrep "(^|=)""$game""$" |
cut -d"=" -f1 |
sed -e "s/^/ACTION.GR\//g" |
sed -e "s/$/=D/g" |
sort |
uniq >> /tmp/g
# add self-running demo, if any
cat res/attract.conf |
tr "\r" "\n" |
grep "^$game=0" >> /tmp/g
if [ "$game" == "SPARE.CHANGE" ]; then
echo "SPCARTOON.1=0" >> /tmp/g
echo "SPCARTOON.2=0" >> /tmp/g
echo "SPCARTOON.3=0" >> /tmp/g
echo "SPCARTOON.4=0" >> /tmp/g
echo "SPCARTOON.5=0" >> /tmp/g
echo "SPCARTOON.6=0" >> /tmp/g
fi
2019-07-01 00:49:27 +00:00
if [ "$game" == "PRINCEUNP" ]; then
echo "ARTWORK.SHR/POP.END=C" >> /tmp/g
2019-07-01 00:49:27 +00:00
fi
# add eof
2019-06-26 02:44:39 +00:00
echo "\n[eof]" >> /tmp/g
# change line endings
2019-06-26 02:44:39 +00:00
cat /tmp/g | tr "\n" "\r" > res/attract/"$game"
# clean up
2019-06-26 02:44:39 +00:00
rm /tmp/g
done