]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
singular...
authorRudolf Polzer <divverent@xonotic.org>
Tue, 15 Nov 2011 09:05:49 +0000 (10:05 +0100)
committerRudolf Polzer <divverent@xonotic.org>
Tue, 15 Nov 2011 09:05:49 +0000 (10:05 +0100)
qcsrc/client/csqcmodel_hooks.qc [new file with mode: 0644]
qcsrc/client/csqcmodels_hooks.qc [deleted file]
qcsrc/csqcmodel/cl_model.qc
qcsrc/csqcmodel/common.qc
qcsrc/csqcmodel/settings.qh

diff --git a/qcsrc/client/csqcmodel_hooks.qc b/qcsrc/client/csqcmodel_hooks.qc
new file mode 100644 (file)
index 0000000..481fc24
--- /dev/null
@@ -0,0 +1,68 @@
+.vector glowmod;
+.float lodmodelindex0;
+.float lodmodelindex1;
+.float lodmodelindex2;
+
+void CSQCModel_Hook_PreDraw()
+{
+       // auto glowmod from colormap
+       self.glowmod = colormapPaletteColor(((self.colormap >= 1024) ? (self.colormap & 0xFF) : stof(getplayerkey(self.entnum - 1, "colors"))), TRUE) * 2;
+
+       if(self.modelindex != 0)
+       {
+               // LOD
+               if(self.lodmodelindex0 != self.modelindex)
+               {
+                       string modelname = self.model;
+                       string s;
+
+                       // set modelindex
+                       self.lodmodelindex0 = self.modelindex;
+                       self.lodmodelindex1 = self.modelindex;
+                       self.lodmodelindex2 = self.modelindex;
+
+                       // FIXME: this only supports 3-letter extensions
+                       s = strcat(substring(modelname, 0, strlen(modelname)-4), "_lod1", substring(modelname, -4, 4));
+                       if(fexists(s))
+                       {
+                               precache_model(s);
+                               setmodel(self, s);
+                               if(self.modelindex > 0)
+                                       self.lodmodelindex1 = self.modelindex;
+                       }
+
+                       s = strcat(substring(modelname, 0, strlen(modelname)-4), "_lod2", substring(modelname, -4, 4));
+                       if(fexists(s))
+                       {
+                               precache_model(s);
+                               setmodel(self, s);
+                               if(self.modelindex > 0)
+                                       self.lodmodelindex2 = self.modelindex;
+                       }
+
+                       setmodel(self, modelname); // make everything normal again
+               }
+
+               if(autocvar_cl_playerdetailreduction <= 0)
+               {
+                       if(autocvar_cl_playerdetailreduction <= -2)
+                               self.modelindex = self.lodmodelindex2;
+                       else if(autocvar_cl_playerdetailreduction <= -1)
+                               self.modelindex = self.lodmodelindex1;
+                       else
+                               self.modelindex = self.lodmodelindex0;
+               }
+               else
+               {
+                       float distance = vlen(self.origin - other.origin);
+                       float f = (distance + 100.0) * autocvar_cl_playerdetailreduction;
+                       if(f > autocvar_cl_loddistance2)
+                               self.modelindex = self.lodmodelindex2;
+                       else if(f > autocvar_cl_loddistance1)
+                               self.modelindex = self.lodmodelindex1;
+                       else
+                               self.modelindex = self.lodmodelindex0;
+               }
+       }
+}
+
diff --git a/qcsrc/client/csqcmodels_hooks.qc b/qcsrc/client/csqcmodels_hooks.qc
deleted file mode 100644 (file)
index 8f471e8..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-.vector glowmod;
-.float lodmodelindex0;
-.float lodmodelindex1;
-.float lodmodelindex2;
-
-void CSQCModels_Hook_PreDraw()
-{
-       // auto glowmod from colormap
-       self.glowmod = colormapPaletteColor(((self.colormap >= 1024) ? (self.colormap & 0xFF) : stof(getplayerkey(self.entnum - 1, "colors"))), TRUE) * 2;
-
-       if(self.modelindex != 0)
-       {
-               // LOD
-               if(self.lodmodelindex0 != self.modelindex)
-               {
-                       string modelname = self.model;
-                       string s;
-
-                       // set modelindex
-                       self.lodmodelindex0 = self.modelindex;
-                       self.lodmodelindex1 = self.modelindex;
-                       self.lodmodelindex2 = self.modelindex;
-
-                       // FIXME: this only supports 3-letter extensions
-                       s = strcat(substring(modelname, 0, strlen(modelname)-4), "_lod1", substring(modelname, -4, 4));
-                       if(fexists(s))
-                       {
-                               precache_model(s);
-                               setmodel(self, s);
-                               if(self.modelindex > 0)
-                                       self.lodmodelindex1 = self.modelindex;
-                       }
-
-                       s = strcat(substring(modelname, 0, strlen(modelname)-4), "_lod2", substring(modelname, -4, 4));
-                       if(fexists(s))
-                       {
-                               precache_model(s);
-                               setmodel(self, s);
-                               if(self.modelindex > 0)
-                                       self.lodmodelindex2 = self.modelindex;
-                       }
-
-                       setmodel(self, modelname); // make everything normal again
-               }
-
-               if(autocvar_cl_playerdetailreduction <= 0)
-               {
-                       if(autocvar_cl_playerdetailreduction <= -2)
-                               self.modelindex = self.lodmodelindex2;
-                       else if(autocvar_cl_playerdetailreduction <= -1)
-                               self.modelindex = self.lodmodelindex1;
-                       else
-                               self.modelindex = self.lodmodelindex0;
-               }
-               else
-               {
-                       float distance = vlen(self.origin - other.origin);
-                       float f = (distance + 100.0) * autocvar_cl_playerdetailreduction;
-                       if(f > autocvar_cl_loddistance2)
-                               self.modelindex = self.lodmodelindex2;
-                       else if(f > autocvar_cl_loddistance1)
-                               self.modelindex = self.lodmodelindex1;
-                       else
-                               self.modelindex = self.lodmodelindex0;
-               }
-       }
-}
-
index 9039da49a610874bc4c173ac5672802efed39c18..bd9dcfd190f7b9b7c5cafdfa5b675f03b59b3a03 100644 (file)
@@ -32,7 +32,7 @@ var float autocvar_cl_nolerp = 0;
 
 void CSQCModel_InterpolateAnimation_PreNote(float sf)
 {
-#ifdef CSQCMODELS_HAVE_TWO_FRAMES
+#ifdef CSQCMODEL_HAVE_TWO_FRAMES
        if(sf & PROPERTY_FRAME)
        {
                self.frame3 = self.frame;
@@ -60,7 +60,7 @@ void CSQCModel_InterpolateAnimation_PreNote(float sf)
 
 void CSQCModel_InterpolateAnimation_Note(float sf)
 {
-#ifdef CSQCMODELS_HAVE_TWO_FRAMES
+#ifdef CSQCMODEL_HAVE_TWO_FRAMES
        if(sf & PROPERTY_FRAME)
        {
                self.frame1time = time;
@@ -84,7 +84,7 @@ void CSQCModel_InterpolateAnimation_Note(float sf)
 
 void CSQCModel_InterpolateAnimation_Do()
 {
-#ifdef CSQCMODELS_HAVE_TWO_FRAMES
+#ifdef CSQCMODEL_HAVE_TWO_FRAMES
        if(autocvar_cl_nolerp || (autocvar_cl_lerpanim_maxdelta_framegroups == 0))
        {
                self.lerpfrac = self.csqcmodel_lerpfrac;
@@ -151,7 +151,7 @@ void CSQCModel_Draw()
        // TODO csqcplayers: run prediction here too
        CSQCModel_InterpolateAnimation_Do();
 
-       { CSQCMODELS_HOOK_PREDRAW }
+       { CSQCMODEL_HOOK_PREDRAW }
 }
 
 void CSQCModel_Read()
@@ -161,7 +161,7 @@ void CSQCModel_Read()
 
        self.iflags |= IFLAG_ANGLES; // interpolate angles too
 
-       { CSQCMODELS_HOOK_PREUPDATE }
+       { CSQCMODEL_HOOK_PREUPDATE }
 
        CSQCPlayer_PreUpdate();
        InterpolateOrigin_Undo();
@@ -187,9 +187,9 @@ void CSQCModel_Read()
        InterpolateOrigin_Note();
        CSQCPlayer_PostUpdate();
 
-       { CSQCMODELS_HOOK_POSTUPDATE }
+       { CSQCMODEL_HOOK_POSTUPDATE }
 
-#ifdef CSQCMODELS_SUPPORT_GETTAGINFO_BEFORE_DRAW
+#ifdef CSQCMODEL_SUPPORT_GETTAGINFO_BEFORE_DRAW
        InterpolateOrigin_Do();
        CSQCModel_InterpolateAnimation_Do();
 #endif
index a0a9cbfd7c469b874fb4032568b94e1d99b394ee..036e09c0e68ae7f8eda74a6c91506a4f28f50371 100644 (file)
@@ -24,9 +24,9 @@
        PROPERTY(PROPERTY_PITCHROLL, ReadAngle, WriteAngle, angles_x) \
        PROPERTY(PROPERTY_YAW, ReadAngle, WriteAngle, angles_y) \
        PROPERTY(PROPERTY_PITCHROLL, ReadAngle, WriteAngle, angles_z) \
-       CSQCMODELS_EXTRAPROPERTIES
+       CSQCMODEL_EXTRAPROPERTIES
 
-#ifdef CSQCMODELS_HAVE_TWO_FRAMES
+#ifdef CSQCMODEL_HAVE_TWO_FRAMES
 .float frame3;
 .float frame3time;
 .float lerpfrac3;
index e0d173e12c302345b4a2e1f1613f6331a1be729c..bef9fcc78a67e3bb38b66b2d350b55410e42c4ae 100644 (file)
@@ -1,21 +1,21 @@
 // define this if svqc code wants to use .frame2 and .lerpfrac
-#define CSQCMODELS_HAVE_TWO_FRAMES
+#define CSQCMODEL_HAVE_TWO_FRAMES
 
 // don't define this ever
-//#define CSQCMODELS_SUPPORT_GETTAGINFO_BEFORE_DRAW
+//#define CSQCMODEL_SUPPORT_GETTAGINFO_BEFORE_DRAW
 
 // add properties you want networked to CSQC here
-#define CSQCMODELS_EXTRAPROPERTIES \
+#define CSQCMODEL_EXTRAPROPERTIES \
        PROPERTY(1, ReadByte, WriteByte, skin) \
        PROPERTY(2, ReadShort, WriteShort, colormap) \
        PROPERTY(4, ReadInt24_t, WriteInt24_t, effects) \
        PROPERTY_SCALED(8, ReadByte, WriteByte, alpha, 255, 0, 255)
 
 // add hook function calls here
-#define CSQCMODELS_HOOK_PREUPDATE
-#define CSQCMODELS_HOOK_POSTUPDATE
-#define CSQCMODELS_HOOK_PREDRAW \
-       CSQCModels_Hook_PreDraw();
+#define CSQCMODEL_HOOK_PREUPDATE
+#define CSQCMODEL_HOOK_POSTUPDATE
+#define CSQCMODEL_HOOK_PREDRAW \
+       CSQCModel_Hook_PreDraw();
 #define CSQCPLAYER_HOOK_POSTCAMERASETUP
 
 // mod must define: