]> de.git.xonotic.org Git - voretournament/voretournament.git/blobdiff - data/qcsrc/server/miscfunctions.qc
Make player sounds per-skin instead of per-model like in Xonotic. Will be needed...
[voretournament/voretournament.git] / data / qcsrc / server / miscfunctions.qc
index 33f6d4a69614e0bd3af5e21ae555beedb20b8d28..f16f60aa060f0e4ee2ae5a47232eba6002986c42 100644 (file)
@@ -1324,7 +1324,26 @@ void play2all(string samp)
 }\r
 \r
 void PrecachePlayerSounds(string f);\r
-void precache_all_models(string pattern)\r
+void precache_playermodel(string m)\r
+{\r
+       float globhandle, i, n;\r
+       string f;\r
+\r
+       precache_model(m);\r
+\r
+       globhandle = search_begin(strcat(m, "_*.sounds"), TRUE, FALSE);\r
+       if (globhandle < 0)\r
+               return;\r
+       n = search_getsize(globhandle);\r
+       for (i = 0; i < n; ++i)\r
+       {\r
+               //print(search_getfilename(globhandle, i), "\n");\r
+               f = search_getfilename(globhandle, i);\r
+               PrecachePlayerSounds(f);\r
+       }\r
+       search_end(globhandle);\r
+}\r
+void precache_all_playermodels(string pattern)\r
 {\r
     float globhandle, i, n;\r
     string f;\r
@@ -1337,8 +1356,7 @@ void precache_all_models(string pattern)
     {\r
                //print(search_getfilename(globhandle, i), "\n");\r
                f = search_getfilename(globhandle, i);\r
-               precache_model(f);\r
-               PrecachePlayerSounds(strcat(f, ".sounds"));\r
+               precache_playermodel(f);\r
     }\r
     search_end(globhandle);\r
 }\r
@@ -1362,11 +1380,11 @@ void precache()
     if (cvar("sv_precacheplayermodels"))\r
     {\r
         PrecachePlayerSounds("sound/player/default.sounds");\r
-        precache_all_models("models/player/*.zym");\r
-        precache_all_models("models/player/*.dpm");\r
-        precache_all_models("models/player/*.md3");\r
-        precache_all_models("models/player/*.psk");\r
-               precache_all_models("models/player/*.iqm");\r
+        precache_all_playermodels("models/player/*.zym");\r
+        precache_all_playermodels("models/player/*.dpm");\r
+        precache_all_playermodels("models/player/*.md3");\r
+        precache_all_playermodels("models/player/*.psk");\r
+               precache_all_playermodels("models/player/*.iqm");\r
     }\r
 \r
     if (cvar("sv_defaultcharacter"))\r