add dm.sh, a simple wrapper around DreamMaker

Signed-off-by: Mloc <colmohici@gmail.com>
This commit is contained in:
Mloc
2016-01-06 21:37:53 +00:00
parent a4d9220bfa
commit a8b2edc0a4
2 changed files with 90 additions and 0 deletions
Executable
+55
View File
@@ -0,0 +1,55 @@
#!/bin/bash
dmepath=""
retval=1
for var; do
if [[ $var != -* && $var == *.dme ]]; then
dmepath=$(echo $var | sed -r 's/.{4}$//')
break
fi
done
if [[ $dmepath == "" ]]; then
echo "No .dme file specified, aborting."
exit 1
fi
if [[ -a $dmepath.mdme ]]; then
rm $dmepath.mdme
fi
cp $dmepath.dme $dmepath.mdme
if [[ $? != 0 ]]; then
echo "Failed to make modified dme, aborting."
exit 2
fi
for var; do
arg=$(echo $var | sed -r 's/^.{2}//')
if [[ $var == -D* ]]; then
sed -i '1s!^!#define '$arg'\n!' $dmepath.mdme
elif [[ $var == -I* ]]; then
sed -i 's!// BEGIN_INCLUDE!// BEGIN_INCLUDE\n#include "'$arg'"!' $dmepath.mdme
elif [[ $var == -M* ]]; then
sed -i '1s/^/#define MAP_OVERRIDE\n/' $dmepath.mdme
sed -i 's!// BEGIN_INCLUDE!// BEGIN_INCLUDE\n#include "_maps\\'$arg'.dm"!' $dmepath.mdme
fi
done
source "$( dirname "${BASH_SOURCE[0]}" )/sourcedm.sh"
if [[ $DM == "" ]]; then
echo "Couldn't find the DreamMaker executable, aborting."
exit 3
fi
"$DM" $dmepath.mdme
retval=$?
mv $dmepath.mdme.dmb $dmepath.dmb
mv $dmepath.mdme.rsc $dmepath.rsc
rm $dmepath.mdme
exit $retval
+35
View File
@@ -0,0 +1,35 @@
#!/bin/bash
if [[ $(uname) == MINGW* ]]
then
if hash dm.exe 2>/dev/null
then
export DM='dm.exe'
return 0
elif [[ -a '/c/Program Files (x86)/BYOND/bin/dm.exe' ]]
then
export DM='/c/Program Files (x86)/BYOND/bin/dm.exe'
return 0
elif [[ -a '/c/Program Files/BYOND/bin/dm.exe' ]]
then
export DM='/c/Program Files/BYOND/bin/dm.exe'
return 0
fi
else
if hash DreamMaker 2>/dev/null
then
export DM='DreamMaker'
return 0
elif [[ -a '/usr/bin/DreamMaker' ]]
then
export DM='/usr/bin/DreamMaker'
return 0
elif [[ -a '/usr/share/byond/bin/DreamMaker' ]]
then
export DM='/usr/share/byond/bin/DreamMaker'
return 0
fi
fi
export DM=''
return 1