[nexuiz-commits] r7129 - trunk/data/qcsrc/server

DONOTREPLY at icculus.org DONOTREPLY at icculus.org
Tue Jun 30 09:20:01 EDT 2009


Author: div0
Date: 2009-06-30 09:20:00 -0400 (Tue, 30 Jun 2009)
New Revision: 7129

Modified:
   trunk/data/qcsrc/server/cl_client.qc
   trunk/data/qcsrc/server/miscfunctions.qc
Log:
change LOD code to support the models the way morphed named them. Next time, morphed, follow the existing code!

To use LOD, compile your progs with:

  fteqcc -DALLOW_VARIABLE_LOD

(note: it takes a lot of extra CPU time on servers with many players)


Modified: trunk/data/qcsrc/server/cl_client.qc
===================================================================
--- trunk/data/qcsrc/server/cl_client.qc	2009-06-30 13:01:32 UTC (rev 7128)
+++ trunk/data/qcsrc/server/cl_client.qc	2009-06-30 13:20:00 UTC (rev 7129)
@@ -374,13 +374,11 @@
 		if(substring(plyermodel,strlen(plyermodel)-4,4) != ".md3")
 		if(substring(plyermodel,strlen(plyermodel)-4,4) != ".psk")
 			return FallbackPlayerModel;
-#ifdef ALLOW_VARIABLE_LOD
 		// forbid the LOD models
-		if(substring(plyermodel, strlen(plyermodel)-6,2) == "_1")
+		if(substring(plyermodel, strlen(plyermodel)-6,2) == "_lod1")
 			return FallbackPlayerModel;
-		if(substring(plyermodel, strlen(plyermodel)-6,2) == "_2")
+		if(substring(plyermodel, strlen(plyermodel)-6,2) == "_lod2")
 			return FallbackPlayerModel;
-#endif
 		if(plyermodel != strtolower(plyermodel))
 			return FallbackPlayerModel;
 		if(!fexists(plyermodel))
@@ -461,7 +459,7 @@
 	string s;
 
 	// FIXME: this only supports 3-letter extensions
-	s = strcat(substring(modelname, 0, strlen(modelname) - 4), "_1", substring(modelname, 0, strlen(modelname) - 4));
+	s = strcat(substring(modelname, 0, strlen(modelname) - 4), "_lod1", substring(modelname, 0, strlen(modelname) - 4));
 	if(fexists(s))
 	{
 		precache_model(s);
@@ -471,7 +469,7 @@
 	else
 		self.modelindex_lod1 = -1;
 
-	s = strcat(substring(modelname, 0, strlen(modelname) - 4), "_2", substring(modelname, 0, strlen(modelname) - 4));
+	s = strcat(substring(modelname, 0, strlen(modelname) - 4), "_lod2", substring(modelname, 0, strlen(modelname) - 4));
 	if(fexists(s))
 	{
 		precache_model(s);

Modified: trunk/data/qcsrc/server/miscfunctions.qc
===================================================================
--- trunk/data/qcsrc/server/miscfunctions.qc	2009-06-30 13:01:32 UTC (rev 7128)
+++ trunk/data/qcsrc/server/miscfunctions.qc	2009-06-30 13:20:00 UTC (rev 7129)
@@ -1345,7 +1345,16 @@
     {
         //print(search_getfilename(globhandle, i), "\n");
         f = search_getfilename(globhandle, i);
+#ifdef ALLOW_VARIABLE_LOD
         precache_model(f);
+#endif
+	if(substring(f, strlen(f)-6,2) == "_lod1")
+		continue;
+	if(substring(f, strlen(f)-6,2) == "_lod2")
+		continue;
+#ifndef ALLOW_VARIABLE_LOD
+        precache_model(f);
+#endif
         PrecachePlayerSounds(strcat(f, ".sounds"));
     }
     search_end(globhandle);



More information about the nexuiz-commits mailing list