]> 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 aca52d6141546688c33336591335b58ef8d9aa22..805a910397145f91836338abb06b012b9947b282 100644 (file)
@@ -3,6 +3,32 @@ case "$cmd" in
        update-maps)
                misc/tools/xonotic-map-compiler-autobuild download
                ;;
+       compile-map)
+               if [ $# -eq 0 ] ; then
+                       msg "Usage: ./all compile-map mapname1 mapname2 mapname3"
+                       msg "For example: ./all compile-map dance xoylent"
+               fi
+               if ! [ -f "netradiant/install/q3map2.x86" ] ; then
+                       msg "q3map2 needed! Building netradiant..."
+                       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" |& 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
+               ;;
        compile)
                cleand0=false
                cleandp=false
@@ -122,6 +148,14 @@ case "$cmd" in
                        fi
                fi
 
+               # workaround ARM issue in DP's makefile.inc
+               case `uname -m` in
+                       x86_64|*86)
+                               ;;
+                       *)
+                               MAKEFLAGS="$MAKEFLAGS CFLAGS_SSE= CFLAGS_SSE2="
+                               ;;
+               esac
                
                if ! verbose $CC misc/tools/conftest.c -o conftest; then
                        msg ""
@@ -214,7 +248,7 @@ case "$cmd" in
 
                verbose cd "$d0/data/xonotic-data.pk3dir"
                if $cleanqc; then
-                       verbose make QCC="../../../../gmqcc/qmqcc" "$@" $MAKEFLAGS clean
+                       verbose make QCC="../../../../gmqcc/gmqcc" "$@" $MAKEFLAGS clean
                fi
                verbose make QCC="../../../../gmqcc/gmqcc" "$@" $MAKEFLAGS
                # 4 levels up: data, xonotic-data, qcsrc, server
@@ -316,6 +350,7 @@ case "$cmd" in
                $ECHO "  $SELF compile [-c] [-r|-p] [-0] [sdl|glx|wgl|agl|dedicated]"
                $ECHO "  $SELF update-maps"
                $ECHO "  $SELF run [sdl|glx|wgl|agl|dedicated] options..."
+               $ECHO "  $SELF compile-map mapname1 mapname2... (e.g. \"./all compile-map dance drain fuse\")"
                handled=false
                ;;
        *)