1 | #!/bin/bash |
---|
2 | # requires: |
---|
3 | # imagemagick, bc |
---|
4 | |
---|
5 | #map = 6x6 blocks |
---|
6 | #one block: 512 |
---|
7 | #image size: 1536x1536 |
---|
8 | |
---|
9 | cd /home/sdtd/7draw/ |
---|
10 | |
---|
11 | TELNET_PWD=volume7 |
---|
12 | TELNET_PORT=8081 |
---|
13 | #. /etc/7dtd.conf |
---|
14 | |
---|
15 | RADIUS=5 |
---|
16 | LP=`echo -e "$TELNET_PWD\nlp" | nc -q 2 localhost $TELNET_PORT` |
---|
17 | POSLINES=`echo "$LP" | grep -oE "pos=\([^)]*\)"` |
---|
18 | # remove brackets |
---|
19 | POSLINES=`echo "$POSLINES" | tr -d ")("` |
---|
20 | |
---|
21 | #enable for debug |
---|
22 | #POSLINES="-221.7, 85.0, -684.6\n221.7, 85.0, 684.6" |
---|
23 | if [ -n "$POSLINES" ]; then |
---|
24 | DATE=`date +"%Y.%m.%d"` |
---|
25 | HOUR=`date +"%H"` |
---|
26 | MIN=`date +"%M"` |
---|
27 | HUE=`echo "(100 * (($HOUR * 60) + $MIN)) / 1440" | bc` |
---|
28 | COLOR="hsb($HUE%, 100%, 100%)" |
---|
29 | IMG_OUT="map_$DATE.png" |
---|
30 | if [ ! -f "$IMG_OUT" ]; then |
---|
31 | IMG_IN=NavezganeMap.png |
---|
32 | else |
---|
33 | IMG_IN="$IMG_OUT" |
---|
34 | fi |
---|
35 | echo -e "$POSLINES" | while IFS=", " read x _ y |
---|
36 | do |
---|
37 | X=`echo "768 - $x/2" | bc` |
---|
38 | Y=`echo "768 - $y/2" | bc` |
---|
39 | X2=`echo "$X+$RADIUS" | bc` |
---|
40 | Y2=`echo "$Y+$RADIUS" | bc` |
---|
41 | `convert "$IMG_IN" -fill "$COLOR" -draw "circle $X,$Y $X2,$Y2" "$IMG_OUT"` |
---|
42 | IMG_IN="$IMG_OUT" |
---|
43 | done |
---|
44 | fi |
---|