109 lines
3 KiB
Bash
109 lines
3 KiB
Bash
#!/bin/bash
|
|
rm log.log 2> /dev/null
|
|
|
|
# *** Export zone files (.zone) from Max
|
|
|
|
exec_timeout='exec_timeout.exe'
|
|
|
|
# Get the timeout
|
|
timeout=`cat ../../cfg/config.cfg | grep "zone_export_timeout" | sed -e 's/zone_export_timeout//' | sed -e 's/ //g' | sed -e 's/=//g'`
|
|
|
|
# Get the database directory
|
|
database_directory=`cat ../../cfg/site.cfg | grep "database_directory" | sed -e 's/database_directory//g' | sed -e 's/ //g' | sed -e 's/=//g'`
|
|
|
|
# Get the build gamedata directory
|
|
build_gamedata_directory=`cat ../../cfg/site.cfg | grep "build_gamedata_directory" | sed -e 's/build_gamedata_directory//' | sed -e 's/ //g' | sed -e 's/=//g'`
|
|
|
|
# Get the zone directories
|
|
zone_source_directories=`cat ../../cfg/directories.cfg | grep "zone_source_directory" | sed -e 's/zone_source_directory//' | sed -e 's/ //g' | sed -e 's/=//g'`
|
|
|
|
# Get the ligo value
|
|
ligo_flag=`cat ../../cfg/config.cfg | grep "process_to_complete" | grep "ligo"`
|
|
|
|
# Maxdir
|
|
max_directory=`echo $MAX_DIR | sed -e 's&\\\&/&g'`
|
|
|
|
if ( test "$ligo_flag" )
|
|
then
|
|
echo [Ligo] ON
|
|
echo [Ligo] ON >> log.log
|
|
else
|
|
echo [Ligo] OFF
|
|
echo [Ligo] OFF >> log.log
|
|
fi
|
|
|
|
|
|
# Log error
|
|
echo ------- > log.log
|
|
echo --- Export zone >> log.log
|
|
echo ------- >> log.log
|
|
echo -------
|
|
echo --- Export zone
|
|
echo -------
|
|
date >> log.log
|
|
date
|
|
|
|
# Try to export from Max zone if any
|
|
|
|
for i in $zone_source_directories ; do
|
|
# Copy the script
|
|
cat maxscript/zone_export.ms | sed -e "s&output_logfile&$build_gamedata_directory/processes/zone/log.log&g" | sed -e "s&zone_source_directory&$database_directory/$i&g" | sed -e "s&output_directory&$build_gamedata_directory/processes/zone/zone_exported&g" > $max_directory/scripts/zone_export.ms
|
|
|
|
# Start max
|
|
echo Try 1 >> log.log
|
|
$exec_timeout $timeout $max_directory/3dsmax.exe -U MAXScript zone_export.ms -q -mi -vn
|
|
|
|
echo Try 2 >> log.log
|
|
$exec_timeout $timeout $max_directory/3dsmax.exe -U MAXScript zone_export.ms -q -mi -vn
|
|
|
|
echo Try 3 >> log.log
|
|
$exec_timeout $timeout $max_directory/3dsmax.exe -U MAXScript zone_export.ms -q -mi -vn
|
|
|
|
# Idle
|
|
../../idle.bat
|
|
done
|
|
|
|
# ****************************
|
|
# Try to copy ligo zone if any
|
|
# ****************************
|
|
|
|
dir_current=`pwd`
|
|
cd ../ligo/output
|
|
list_zone=`ls -1 *.[zZ][oO][nN][eE]`
|
|
for filename in $list_zone ; do
|
|
echo "Checking $filename for update"
|
|
if test -e ../../zone/zone_exported/$filename ; then
|
|
must_update=`diff --binary -q $filename ../../zone/zone_exported/$filename` ;
|
|
else
|
|
must_update=YES ;
|
|
fi
|
|
|
|
if test -n "$must_update" ; then
|
|
echo " Updating"
|
|
cp -u -p $filename ../../zone/zone_exported/$filename ;
|
|
fi
|
|
|
|
# Idle
|
|
../../../idle.bat
|
|
done
|
|
cd $dir_current
|
|
|
|
# delete files only present in the zone_exported directory
|
|
|
|
if ( test "$ligo_flag" )
|
|
then
|
|
cd ./zone_exported
|
|
list_zone=`ls -1 *.[zZ][oO][nN][eE]`
|
|
for filename in $list_zone ; do
|
|
if test -e ../../ligo/output/$filename ; then
|
|
must_update=NO ;
|
|
else
|
|
echo "Removing $filename"
|
|
rm $filename ;
|
|
fi
|
|
|
|
# Idle
|
|
../../../idle.bat
|
|
done
|
|
cd ..
|
|
fi
|