]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/tools/genmod.sh
Optimize vehicle impact code by only calling vlen() if damage would be taken
[xonotic/xonotic-data.pk3dir.git] / qcsrc / tools / genmod.sh
index 9a3ba10987b05622ad8873ee16783475a9f09b98..a8ac4a0e85a7533dbc78ff08ba450e8935322d9e 100755 (executable)
@@ -6,9 +6,21 @@ ROOT=$PWD/
 
 MOD=_mod
 
+function hash() {
+    git hash-object $1
+}
+
 function genmod() {
     # use context to work around cmake issue #12619
     CTX="${PWD#$ROOT}/"
+    if [ -f ${MOD}.inc ]; then
+        oldHashC=$(hash ${MOD}.inc)
+        oldTimeC=$(stat -c "%Y" ${MOD}.inc)
+    fi
+    if [ -f ${MOD}.qh ]; then
+        oldHashH=$(hash ${MOD}.qh)
+        oldTimeH=$(stat -c "%Y" ${MOD}.qh)
+    fi
     echo '// generated file; do not modify' > ${MOD}.inc
     echo '// generated file; do not modify' > ${MOD}.qh
     for f in $(ls | sort -k 1,1 -t .); do
@@ -43,6 +55,10 @@ function genmod() {
             echo "#include <${CTX}$f/${mod}.qh>" >> ${MOD}.qh
         fi
     fi; done
+    newHashC=$(hash ${MOD}.inc)
+    if [[ $newHashC == $oldHashC ]]; then touch -d @$oldTimeC ${MOD}.inc; fi
+    newHashH=$(hash ${MOD}.qh)
+    if [[ $newHashH == $oldHashH ]]; then touch -d @$oldTimeH ${MOD}.qh; fi
 }
 
 (cd lib; genmod)