#!/bin/bash

PLEE_THE_BEAR=../../bear-engine/bin/running-bear
MODE="$1"
ARGS='--log-level=verbose --log-file=log.txt --game-name="Plee the Bear" --screen-width=800 --screen-height=600 --active-area=500 --data-path=../data --item-library=../../bear-engine/bin/libbear_generic_items.so --item-library=../bin/libplee_the_bear.so --start-level=title_screen'

shift

export LD_LIBRARY_PATH="../bin:../../bear-engine/bin:$LD_LIBRARY_PATH"

rm -f *.timelog

if [ "$MODE" == "gdb" ]
then
    echo Default parameters : $ARGS
    gdb $PLEE_THE_BEAR
elif [ "$MODE" == "valgrind" ]
then
  echo $ARGS "$MODE" "$@" | xargs valgrind --leak-check=full --show-reachable=yes --track-origins=yes --error-limit=no $PLEE_THE_BEAR 2>&1
else
  echo $ARGS "$MODE" "$@" | xargs $PLEE_THE_BEAR 2>&1
fi

if which mencoder >/dev/null \
   && ls ~/.plee_the_bear/*-fps=*.png >/dev/null 2>/dev/null
then
  for N in $( ls ~/.plee_the_bear/*-fps=*.png \
              | sed 's:.\+s-\(.\+\)-.\+-fps=\(.\+\).png:\1-\2:' | uniq )
  do
    BASE=$(echo $N | cut -d- -f1)
    FPS=$(echo $N | cut -d- -f2)

    echo $BASE $FPS
    mencoder mf://$HOME/.plee_the_bear/s-*$BASE-*.png \
      -mf w=800:h=600:fps=$FPS:type=png -ovc lavc -lavcopts vcodec=mpeg4 \
      -oac copy -o $HOME/.plee_the_bear/$BASE.avi

    rm -f $HOME/.plee_the_bear/s-*$BASE-*.png
  done
else
  rm -f $HOME/.plee_the_bear/s-*.png
fi

if ls *.timelog >/dev/null 2>/dev/null && which gnuplot >/dev/null
then
  ( echo 'set term svg'
    echo 'set output "timelog.svg'
    echo -n "plot "
    for f in *.timelog
    do
      echo '"'$f'" title "'$(basename $f .timelog)'" with lines, \'
    done
    echo "0 notitle with points 0"

  ) | gnuplot 2>/dev/null
fi
