#!/bin/awk -f # Tool to convert spr files # Usage: update_spr.awk [input spr file] > [output spr file] { gsub(/\r/,""); } //,/<\/plugin>/ { match($0, /crystalspace.mesh.loader.[a-zA-Z0-9\.]*/, array) PLUGIN = array[0]; } // { match($0, //, array) MESHFACT_NAME = array[0]; } /\/planeshift\/.*\/.*\.dds/ { match($0, /\/planeshift\/.*\/.*\.dds/, array) MATERIAL_NAME = array[0]; } /^[ \t]*.*<\/.*smooth>/ { match($0, /.*<\/smooth>/, array) SMOOTH = "\t\t" array[0]; } // { match($0, //, array) NOSHADOWS = "\t\t" array[0]; } // { match($0, //, array) AUTONORMALS = "\t\t" array[0]; } END { print MESHFACT_NAME; if (PLUGIN != "") { print "\t" (PLUGIN) ""; } else { print "\tcrystalspace.mesh.loader.factory.sprite.3d"; } print "\t"; print "\t\t" (MATERIAL_NAME) ""; if (NUM_SECTION != "") { print NUM_SECTION; } print "\t\t"; print V_SECTION; print "\t\t"; print ""; print "\t\t"; print ""; print T_SECTION; if (SMOOTH != "") { print SMOOTH; } if (NOSHADOWS != "") { print NOSHADOWS; } if (AUTONORMALS != "") { print AUTONORMALS; } print "\t"; print ""; if (MESHFACT_NAME == "") print "Error! no meshfact name."; if (MATERIAL_NAME == "") print "Error! no material name."; }