]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Merge branch 'master' into Mario/mutators
authorMario <mario.mario@y7mail.com>
Fri, 12 Jul 2013 00:04:10 +0000 (10:04 +1000)
committerMario <mario.mario@y7mail.com>
Fri, 12 Jul 2013 00:04:10 +0000 (10:04 +1000)
defaultXonotic.cfg
qcsrc/Makefile
qcsrc/client/Main.qc
qcsrc/client/autocvars.qh
qcsrc/collect-precache.sh [new file with mode: 0755]
qcsrc/server/miscfunctions.qc

index 03a4a40aa3630b4b782d2b829d84268cad040923..48a7b58cbcb11cd328219d406f4945df929f9383 100644 (file)
@@ -1271,7 +1271,6 @@ set developer_csqcentities 0 "csqc entity spam"
 set waypoint_benchmark 0 "quit after waypoint loading to benchmark bot navigation code"
 set g_debug_bot_commands 0 "print scripted bot commands before executing"
 set g_debug_defaultsounds 0 "always use default sounds"
-set cl_precacheplayermodels 0 "TODO please check if this needs to be 1 or if precaching a model the server already requested is fast enough to do it at runtime"
 seta cl_forceplayermodels 0 "make everyone look like your own model (requires server to have sv_defaultcharacter 0)"
 seta cl_forceplayercolors 0 "make everyone look like your own color (requires server to have sv_defaultcharacter 0, and is ignored in teamplay with more than two teams)"
 seta cl_forcemyplayermodel "" "set to the model file name you want to show yourself as (does not affect how enemies look with cl_forceplayermodels)"
index df1e9a3883226e55c877350d1e732086ad768f9b..a92b06bc645b4f814cee7ddf1cedb2cda0de54a3 100644 (file)
@@ -8,6 +8,7 @@ QCCVERSIONFILE := qccversion.$(shell $(QCC) --version > qccversion.txt && git ha
 QCCFLAGS ?= \
        -std=fteqcc \
        -Werror -Wall \
+       -Wcpp \
        -Wno-field-redeclared \
        -Wno-double-declaration \
        -Wno-uninitialized-global \
@@ -49,7 +50,7 @@ qc-recursive: ../menu.dat ../progs.dat ../csprogs.dat
 
 .PHONY: clean
 clean:
-       rm -f ../progs.dat ../menu.dat ../csprogs.dat
+       rm -f ../progs.dat ../menu.dat ../csprogs.dat server/precache-for-csqc.inc
 
 $(QCCVERSIONFILE):
        $(RM) qccversion.*
@@ -60,8 +61,11 @@ FILES_CSPROGS = $(shell find client common warpzonelib csqcmodellib -type f -not
        @echo make[1]: Entering directory \`$(PWD)/client\'
        cd client && $(QCC) $(QCCFLAGS)
 
+server/precache-for-csqc.inc: $(FILES_CSPROGS)
+       sh collect-precache.sh
+
 FILES_PROGS = $(shell find server common warpzonelib csqcmodellib -type f -not -name fteqcc.log -not -name qc.asm) $(wildcard server/w_*.qc)
-../progs.dat: $(FILES_PROGS) $(QCCVERSIONFILE)
+../progs.dat: $(FILES_PROGS) $(QCCVERSIONFILE) server/precache-for-csqc.inc
        @echo make[1]: Entering directory \`$(PWD)/server\'
        cd server && $(QCC) $(QCCFLAGS)
 
index 7178cdba1abbf9c4a62aac03d833c1191fddfb03..42fadc0c18a86b0cc0cec1eb145409adebe08efb 100644 (file)
@@ -32,55 +32,6 @@ void menu_sub_null()
 float __engine_check;
 #endif
 
-void precache_playermodel(string m)
-{
-       string f;
-
-       if(substring(m, -9,5) == "_lod1")
-               return;
-       if(substring(m, -9,5) == "_lod2")
-               return;
-       precache_model(m);
-       f = strcat(substring(m, 0, -5), "_lod1", substring(m, -4, -1));
-       if(fexists(f))
-               precache_model(f);
-       f = strcat(substring(m, 0, -5), "_lod2", substring(m, -4, -1));
-       if(fexists(f))
-               precache_model(f);
-
-       /*
-       float globhandle, i, n;
-       globhandle = search_begin(strcat(m, "_*.sounds"), TRUE, FALSE);
-       if (globhandle < 0)
-               return;
-       n = search_getsize(globhandle);
-       for (i = 0; i < n; ++i)
-       {
-               //print(search_getfilename(globhandle, i), "\n");
-               f = search_getfilename(globhandle, i);
-               PrecachePlayerSounds(f);
-       }
-       search_end(globhandle);
-       */
-}
-void precache_all_playermodels(string pattern)
-{
-       float globhandle, i, n;
-       string f;
-
-       globhandle = search_begin(pattern, TRUE, FALSE);
-       if (globhandle < 0)
-               return;
-       n = search_getsize(globhandle);
-       for (i = 0; i < n; ++i)
-       {
-               //print(search_getfilename(globhandle, i), "\n");
-               f = search_getfilename(globhandle, i);
-               precache_playermodel(f);
-       }
-       search_end(globhandle);
-}
-
 string forcefog;
 void WaypointSprite_Load();
 void ConsoleCommand_macro_init();
@@ -164,14 +115,6 @@ void CSQC_Init(void)
        precache_model("null");
        precache_sound("misc/hit.wav");
        precache_sound("misc/typehit.wav");
-       if (autocvar_cl_precacheplayermodels)
-       {
-               precache_all_playermodels("models/player/*.zym");
-               precache_all_playermodels("models/player/*.dpm");
-               precache_all_playermodels("models/player/*.md3");
-               precache_all_playermodels("models/player/*.psk");
-               precache_all_playermodels("models/player/*.iqm");
-       }
 
        Projectile_Precache();
        Hook_Precache();
index af7008150eadf03b39bebccad78c018f5aaadbdc..8175695abb0ac5ef0a4c033e671a742a907776fb 100644 (file)
@@ -424,7 +424,6 @@ float autocvar_cl_forcemyplayercolors;
 float autocvar__cl_color;
 float autocvar__cl_playerskin;
 string autocvar__cl_playermodel;
-float autocvar_cl_precacheplayermodels;
 float autocvar_cl_deathglow;
 float autocvar_developer_csqcentities;
 float autocvar_g_jetpack_attenuation;
diff --git a/qcsrc/collect-precache.sh b/qcsrc/collect-precache.sh
new file mode 100755 (executable)
index 0000000..302220c
--- /dev/null
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+{
+       grep -h '\<precache_model *( *"' client/* | grep -v "//NO_SV_PRECACHE"
+       grep -h '\<precache_sound *( *"' client/* | grep -v "//NO_SV_PRECACHE"
+} > server/precache-for-csqc.inc
+
index 593292c0a5204792b54d9f03de93ae65f17ab694..7c4c339383329c385195a78fae60a9251c22fc3f 100644 (file)
@@ -1410,6 +1410,8 @@ void precache()
         ambientsound ('0 0 0', self.noise, VOL_BASE, ATTN_NONE);
     }
 #endif
+
+#include "precache-for-csqc.inc"
 }
 
 // WARNING: this kills the trace globals