]> git.xonotic.org Git - xonotic/xonotic.git/blobdiff - misc/tools/all/xonotic.subr
./all compile-map: generate logfile and pack into the .pk3
[xonotic/xonotic.git] / misc / tools / all / xonotic.subr
index b2ba714cdce55904c449ef50d7b9d6679b81dea3..805a910397145f91836338abb06b012b9947b282 100644 (file)
@@ -4,7 +4,7 @@ case "$cmd" in
                misc/tools/xonotic-map-compiler-autobuild download
                ;;
        compile-map)
-               if [ -n "$1" ] ; then
+               if [ $# -eq 0 ] ; then
                        msg "Usage: ./all compile-map mapname1 mapname2 mapname3"
                        msg "For example: ./all compile-map dance xoylent"
                fi
@@ -13,11 +13,19 @@ case "$cmd" in
                        make -C netradiant install/q3map2.x86
                fi
                for mapfile in "$@"; do
+                       mapname=$mapfile
                        mapfile="data/xonotic-maps.pk3dir/maps/$mapfile.map"
                        if [ ! -f "$mapfile" ] ; then
                                msg "ERROR, $mapfile not found!"
                        else
-                               time misc/tools/xonotic-map-compiler-optionsfile "$mapfile"
+                               time misc/tools/xonotic-map-compiler-optionsfile "$mapfile" |& tee data/xonotic-maps.pk3dir/$mapname.log
+                               cd data/xonotic-maps.pk3dir
+                               mapblobhash=`git rev-parse --revs-only "HEAD:maps/$mapname.map.options" || true`-`git rev-parse --revs-only "HEAD:maps/$mapname.map" || true`
+                               mapnamezip=${mapname##*/}
+                               echo "Compressing to .pk3..."
+                               zip -9r "$mapnamezip-$mapblobhash.pk3"  "maps/$mapname.bsp" "maps/$mapname/"  "gfx/${mapnamezip}_mini.tga" "$mapname.log"
+                               mv -f "$mapnamezip-$mapblobhash.pk3" ../
+                               verbose "$SELF" update-maps
                        fi
                done
                ;;