]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/server/cl_player.qc
Use model+skin instead, for faster performance
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / cl_player.qc
index 8925f171340d0de0cbab5feb0076a9b3370aaa65..72c3a67b78f5ea07f2d0f68092cf150ba76cc265 100644 (file)
@@ -167,6 +167,7 @@ float player_getspecies()
 {
        local float glob, i, j, fh, len, s, sk;
        local string fn, l;
+       local float tokens, snd;
 
        s = -1;
 
@@ -183,9 +184,15 @@ float player_getspecies()
                                continue;
                        fgets(fh); fgets(fh);
                        sk = stof(fgets(fh));
+
+                       snd = tokenizebyseparator(self.model, "."); // don't use the .zym at the end
+                       UpdatePlayerSounds(strcat(argv(0), ftos(sk)));
+
                        if(sk == (j ? 0 : self.skinindex)) // 2nd pass skips the skin test
                        if(fgets(fh) == self.model)
                        {
+                               tokens = tokenizebyseparator(fn, ".");
+
                                l = fgets(fh);
                                len = tokenize_console(l);
                                if (len != 2)
@@ -1264,14 +1271,17 @@ void LoadPlayerSounds(string f, float first)
 }
 
 .float modelindex_for_playersound;
-void UpdatePlayerSounds()
+void UpdatePlayerSounds(string filename)
 {
        if(self.modelindex == self.modelindex_for_playersound)
                return;
        self.modelindex_for_playersound = self.modelindex;
        ClearPlayerSounds();
        LoadPlayerSounds("sound/player/default.sounds", 1);
-       LoadPlayerSounds(strcat(self.model, ".sounds"), 0);
+       if(filename != "")
+               LoadPlayerSounds(strcat(filename, ".sounds"), 0);
+       else
+               LoadPlayerSounds(strcat(self.model, ".sounds"), 0); // backwards compatibility
 }
 
 void FakeGlobalSound(string sample, float chan, float voicetype)