#!/bin/bash 
#

prefix=""
suffix=""
unpackCmd="Tools/unpack"
if [ "$1" = "-h" -o "$1" = "--help" ]; then
    echo "Syntax:"
    echo "./run_sim [-r[x]|-v[v][x]|-x] pathToMission"
    echo "-r runs simulation in real-time"
    echo "-v runs simulation with valgrind dynamic analysis"
    echo "-vv runs simulation with verbose valgrind dynamic analysis"
    echo "-rx,-vx-vvx as above but runs simulation without unpacking data at the end"
    echo "-x runs simulation without unpacking data at the end"
    exit
elif [ "$1" = "-r" ]; then
    suffix=" -r"
    missionname=$2
elif [ "$1" = "-rx" ]; then
    suffix=" -r"
    missionname=$2
    unpackCmd=""
elif [ "$1" = "-v" ]; then
    prefix=" valgrind --leak-check=full --show-reachable=yes --track-origins=yes --suppressions=valgrind.supp --gen-suppressions=all"
    suffix=" -r"
    missionname=$2
elif [ "$1" = "-vx" ]; then
    prefix=" valgrind --leak-check=full --show-reachable=yes --track-origins=yes --suppressions=valgrind.supp --gen-suppressions=all"
    suffix=" -r"
    missionname=$2
    unpackCmd=""
elif [ "$1" = "-vv" ]; then
    prefix=" valgrind --leak-check=full --show-reachable=yes --track-origins=yes --leak-resolution=high --num-callers=40 --suppressions=valgrind.supp --gen-suppressions=all -v"
    suffix=" -r"
    missionname=$2
elif [ "$1" = "-vvx" ]; then
    prefix=" valgrind --leak-check=full --show-reachable=yes --track-origins=yes --leak-resolution=high --num-callers=40 --suppressions=valgrind.supp --gen-suppressions=all -v"
    suffix=" -r"
    missionname=$2
    unpackCmd=""
elif [ "$1" = "-x" ]; then
    missionname=$2
    unpackCmd=""
else
    missionname=$1
fi

if [ "$missionname" = "" ]; then
    $prefix bin/LRAUV
    exit
fi

if [ -e "$missionname" ]; then
    missionname=`echo $missionname|sed "s#^[^/].*issions/##"`
elif [ ! -e "Missions/$missionname" ]; then
    echo "No mission named $missionname or Missions/$missionname"
    exit
fi

echo "Running $missionname"
time$prefix bin/LRAUV$suffix -x "run $missionname quitAtEnd";
echo " "
echo "Simulation finished."
echo " "
$unpackCmd
