#!/bin/bash rm log.log 2> /dev/null echo > log.log # ******************** # Make the config file # ******************** exec_timeout='exec_timeout.exe' # Get the timeout land_exporter_timeout=`cat ../../cfg/config.cfg | grep "ligo_build_timeout" | sed -e 's/ligo_build_timeout//' | sed -e 's/ //g' | sed -e 's/=//g'` rm land_exporter.cfg echo "// land_exporter.cfg" > land_exporter.cfg # OutZoneDir is Where to put all .zone generated #dir_gamedata=`cat ../../cfg/site.cfg | grep "build_gamedata_directory" | sed -e 's/build_gamedata_directory//' | sed -e 's/ //g' | sed -e 's/=//g'` #echo "OutZoneDir = \"$dir_gamedata/processes/ligo/output\";" >> land_exporter.cfg echo "OutZoneDir = \"output\";" >> land_exporter.cfg echo "OutIGDir = \"../ig/ig_land_ligo\";" >> land_exporter.cfg echo "AdditionnalIGOutDir = \"../ig/ig_other\";" >> land_exporter.cfg # RefZoneDir is Where the reference zones are dir_database=`cat ../../cfg/site.cfg | grep "database_directory" | sed -e 's/database_directory//' | sed -e 's/ //g' | sed -e 's/=//g'` dir_ligosrc=`cat ../../cfg/directories.cfg | grep "ligo_source_directory" | sed -e 's/ligo_source_directory//' | sed -e 's/ //g' | sed -e 's/=//g'` dir_ligobricks=`cat ../../cfg/directories.cfg | grep "ligo_bricks_directory" | sed -e 's/ligo_bricks_directory//' | sed -e 's/ //g' | sed -e 's/=//g'` dir_dfn=`cat ../../cfg/site.cfg | grep "level_design_dfn_directory" | sed -e 's/level_design_dfn_directory//' | sed -e 's/ //g' | sed -e 's/=//g'` continent_file=`cat ../../cfg/config.cfg | grep "continent_file" | sed -e 's/continent_file//' | sed -e 's/ //g' | sed -e 's/=//g'` dir_world=`cat ../../cfg/site.cfg | grep "level_design_world_directory" | sed -e 's/level_design_world_directory//' | sed -e 's/ //g' | sed -e 's/=//g'` # dir_continents=`cat ../../cfg/site.cfg | grep "continents_directory" | sed -e 's/continents_directory//' | sed -e 's/ //g' | sed -e 's/=//g'` echo "RefZoneDir = \"$dir_ligobricks/zones\";" >> land_exporter.cfg echo "RefIGDir = \"$dir_ligobricks/igs\";" >> land_exporter.cfg echo "AdditionnalIGInDir = \"$dir_ligobricks/igs\";" >> land_exporter.cfg # echo "ContinentsDir = \"$dir_continents\";" >> land_exporter.cfg echo "ContinentsDir = \"$dir_world\";" >> land_exporter.cfg # LigoBankDir is Where all .ligozone are (those used by the .land) echo "LigoBankDir = \"$dir_ligobricks/zoneligos\";" >> land_exporter.cfg # TileBankFile is the .bank file (used to know if a tile is oriented and the like) name_bank=`cat ../../cfg/properties.cfg | grep "bank_name" | sed -e 's/bank_name//' | sed -e 's/ //g' | sed -e 's/=//g'` echo "TileBankFile = $name_bank" >> land_exporter.cfg # ColorMapFile cmf=`cat ../../cfg/config.cfg | grep "ligo_export_colormap" | sed -e 's/ligo_export_colormap//' | sed -e 's/ //g' | sed -e 's/=//g'` echo "ColorMapFile = \"$dir_database/$dir_ligosrc/$cmf\";" >> land_exporter.cfg # HeightMapFile1 is the grayscale .tga file (127 is 0, 0 is -127*ZFactor and 255 is +128*ZFactor) hmf1=`cat ../../cfg/config.cfg | grep "ligo_export_heightmap1" | sed -e 's/ligo_export_heightmap1//' | sed -e 's/ //g' | sed -e 's/=//g'` echo "HeightMapFile1 = \"$dir_database/$dir_ligosrc/$hmf1\";" >> land_exporter.cfg # ZFactor1 is the heightmap factor zf1=`cat ../../cfg/config.cfg | grep "ligo_export_zfactor1" | sed -e 's/ligo_export_zfactor1//' | sed -e 's/ //g' | sed -e 's/=//g'` echo "ZFactor1 = $zf1;" >> land_exporter.cfg # HeightMapFile2 is the grayscale .tga file (127 is 0, 0 is -127*ZFactor and 255 is +128*ZFactor) hmf2=`cat ../../cfg/config.cfg | grep "ligo_export_heightmap2" | sed -e 's/ligo_export_heightmap2//' | sed -e 's/ //g' | sed -e 's/=//g'` echo "HeightMapFile2 = \"$dir_database/$dir_ligosrc/$hmf2\";" >> land_exporter.cfg # ZFactor2 is the heightmap factor zf2=`cat ../../cfg/config.cfg | grep "ligo_export_zfactor2" | sed -e 's/ligo_export_zfactor2//' | sed -e 's/ //g' | sed -e 's/=//g'` echo "ZFactor2 = $zf2;" >> land_exporter.cfg # ZoneLight is Roughly light the zone (0-none, 1-patch, 2-noise) echo "ZoneLight = 0;" >> land_exporter.cfg # CellSize is the size of the cell (zone size) in meter echo "CellSize = 160;" >> land_exporter.cfg # Threshild is the weld threshold in meter echo "Threshold = 1;" >> land_exporter.cfg # Where to take dfn files echo "DFNDir = \"$dir_dfn\";" >> land_exporter.cfg # CMB input directory echo "RefCMBDir = \"$dir_ligobricks/cmb\";" >> land_exporter.cfg # CMB output directory echo "OutCMBDir = \"../rbank/cmb\";" >> land_exporter.cfg #input .continent file echo "ContinentFile = \"$dir_world/$continent_file\";" >> land_exporter.cfg # Force export of collisions and additionnal igs echo "ExportCollisions = 1;" >> land_exporter.cfg echo "ExportAdditionnalIGs = 1;" >> land_exporter.cfg # ZoneRegionFile is the .land to compute dir_current=`pwd` land_name=`cat ../../cfg/config.cfg | grep "ligo_export_land" | sed -e 's/ligo_export_land//' | sed -e 's/ //g' | sed -e 's/=//g'` echo "ZoneRegionFile = \"$dir_database/$dir_ligosrc/$land_name\";" >> land_exporter.cfg # if there is no .land then do not generate all zones and zone welded if test -z "$land_name" ; then echo No .land set -- Exiting -- exit; fi # ******************* # launch the exporter # ******************* echo ------- >> log.log echo --- Generate ligo zone >> log.log echo ------- >> log.log echo ------- echo --- Generate ligo zone echo ------- date >> log.log date echo Exporting $exec_timeout $land_exporter_timeout land_export.exe land_exporter.cfg # rename *.[zZ][oO][nN][eE][lL] *.[zZ][oO][nN][eE] # script is just too slow to do renaming... And we can't call directly dos command cd output ../sh/renametozone.bat cd .. # ************** # Copy the zones # ************** cd ../zone mkdir zone_exported 2> /dev/null # Try to copy ligo zone if any # **************************** ligo_flag=`cat ../../cfg/config.cfg | grep "process_to_complete" | grep "ligo"` 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