#/bin/bash
if [ -z "$1" ]
then
    echo "Bitte mindestens den Namen der Ausgabedatei ohne Datei-Endung als Parameter angeben, optional noch die Anzahl der Etagen und der Fenster pro Etage."
    exit
fi
zeilen=5
spalten=10
ox=250 #X-Offset des Hauses
oy=2500 #Y-Offset des Hauses
if [ $# -ge 3 ]
then
    zeilen=`expr $2`
    spalten=`expr $3`
    if [ $# -ge 4 ]
    then
        ox=`expr $4`
    fi
fi
rh=250 #Raumhöhe
fh=120 #Fensterhöhe
fb=100 #Fensterbreite
dh=30 #Deckenhoehe
fa=20 #Fensterabstand
ma=300 #Mittelabstand/Breite Treppenhauserker

mslfile="$1.msl"

hausbreite=`expr $spalten \* \( $fa + $fb \) + $fa + $ma`
haushoehe=`expr $zeilen \* \( $rh + $dh \)`
t="$ox, `expr $oy - $haushoehe`, `expr $hausbreite + $ox`, $oy"

mitte=`expr $hausbreite / 2 + $ox`
mahalb=`expr $ma / 2`
mittelinks=`expr $mitte - $mahalb + \( 3 \* $fa \)`
mitterechts=`expr $mitte + $mahalb - \( 3 \* $fa \)`

magick -size "`expr $ox + $hausbreite + $ox`"x3000 gradient:#0000ff-#ffffff -draw "rectangle $t" $1.png
str="0, 2500, `expr $ox + $hausbreite + $ox`, 3000"

echo '<?xml version="1.0" encoding="UTF-8"?>' > $mslfile
echo '<image>' >> $mslfile
eingabefile="<read filename=\"$1.png\" />"
echo $eingabefile >> $mslfile
echo "  <draw fill='sandybrown' primitive='rectangle $t' />" >> $mslfile
echo "  <draw fill='snow4' primitive='rectangle $str' />" >> $mslfile
oben=`expr $oy - $haushoehe + $dh`
links=$ox
for ((i=0; i < zeilen; i++)) ; do
  links=`expr $links + $fa`
  for ((j=0; j < spalten; j++)) ; do
    varInt=`expr $spalten / 2`
    if [ $j -eq $varInt ]
    then
      links=`expr $links + $ma`
    fi
    t="$links, $oben, `expr $links + $fb`, `expr $oben + $fh`"
    echo "  <draw fill='yellow' primitive='rectangle $t' />" >> $mslfile
    links=`expr $links + $fb + $fa`
  done
  if [ $i -ne `expr $zeilen - 1` ]
  then
    tm="$mittelinks, $oben, $mitterechts, `expr $oben + $fh`"
    echo "  <draw fill='yellow' primitive='rectangle $tm' />" >> $mslfile
  else
    tm="$mittelinks, $oben, $mitterechts, `expr $oben + $rh`"
    echo "  <draw fill='yellow' primitive='rectangle $tm' />" >> $mslfile
  fi

  links=$ox
  oben=`expr $oben + $rh + $dh`

done
ausgabefile="<write filename=\"$1.png\" />"
echo $ausgabefile >> $mslfile
echo '</image>' >> $mslfile
conjure msl:$mslfile
