]> git.xonotic.org Git - xonotic/darkplaces.git/commitdiff
changed DP_SV_MODELFLAGS_AS_EFFECTS extension, now using any of the MF_
authorhavoc <havoc@d7cf8633-e32d-0410-b094-e92efae38249>
Wed, 23 May 2007 22:07:18 +0000 (22:07 +0000)
committerhavoc <havoc@d7cf8633-e32d-0410-b094-e92efae38249>
Wed, 23 May 2007 22:07:18 +0000 (22:07 +0000)
flags will override the model's flags
added EF_NOMODELFLAGS effect to disable model flags without replacing
them with anything new

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@7354 d7cf8633-e32d-0410-b094-e92efae38249

cl_main.c
protocol.h

index 12704f50374e4f0020e6bd3649371f355c532c39..4be3ee7bf621edc7626a9b2e03b50c39574666c2 100644 (file)
--- a/cl_main.c
+++ b/cl_main.c
@@ -949,7 +949,9 @@ void CL_UpdateNetworkEntity(entity_t *e, int recursionlimit, qboolean interpolat
        if (e->render.model)
        {
                // models can set flags such as EF_ROCKET
-               e->render.effects |= e->render.model->effects;
+               // this 0xFF800000 mask is EF_NOMODELFLAGS plus all the higher EF_ flags such as EF_ROCKET
+               if (!(e->render.effects & 0xFF800000))
+                       e->render.effects |= e->render.model->effects;
                // if model is alias or this is a tenebrae-like dlight, reverse pitch direction
                if (e->render.model->type == mod_alias)
                        angles[0] = -angles[0];
index 309057400c8095bd3865029ff938d79f6ead64ff..77d38542b7f606edb45b4e44ad04d5ebedb22146 100644 (file)
@@ -64,7 +64,7 @@ void Protocol_Names(char *buffer, size_t buffersize);
 #define EF_UNUSED20                            1048576
 #define EF_UNUSED21                            2197152
 #define EF_LOWPRECISION                        4194304         // LordHavoc: entity is low precision (integer coordinates) to save network bandwidth  (serverside only)
-#define EF_UNUSED23                            8388608
+#define EF_OVERRIDEMODELFLAGS  8388608         // indicates the model's .effects should be ignored (allows overriding them)
 #define EF_ROCKET                              16777216        // leave a trail
 #define EF_GRENADE                             33554432        // leave a trail
 #define EF_GIB                                 67108864        // leave a trail