.string forceplayermodels_savemodel;
.float forceplayermodels_savemodelindex;
.float forceplayermodels_saveskin;
+.float forceplayermodels_savecolormap;
void CSQCPlayer_ForceModel_PreUpdate(void)
{
self.model = self.forceplayermodels_savemodel;
self.modelindex = self.forceplayermodels_savemodelindex;
self.skin = self.forceplayermodels_saveskin;
+ self.colormap = self.forceplayermodels_savecolormap;
}
void CSQCPlayer_ForceModel_PostUpdate(void)
{
self.forceplayermodels_savemodel = self.model;
self.forceplayermodels_savemodelindex = self.modelindex;
self.forceplayermodels_saveskin = self.skin;
+ self.forceplayermodels_savecolormap = self.colormap;
}
void CSQCPlayer_ForceModel_Apply(float islocalplayer)
{
self.modelindex = self.forceplayermodels_savemodelindex;
self.skin = self.forceplayermodels_saveskin;
}
+
+ // forceplayercolors too
+ if(!teamplay)
+ if(autocvar_cl_forceplayercolors)
+ self.colormap = player_localnum + 1;
}
// FEATURE: fallback frames
#define FIX_FRAMETIME(f,ft) \
switch(self.f) \
{ \
- case 0: // anim_die1 \
- case 1: // anim_die2 \
+ case 0: \
+ case 1: \
self.ft = 0; \
break; \
}
- FIX_FRAMETIME(frame, frame1time);
- FIX_FRAMETIME(frame2, frame2time);
- FIX_FRAMETIME(frame3, frame3time);
- FIX_FRAMETIME(frame4, frame4time);
+ FIX_FRAMETIME(frame, frame1time)
+ FIX_FRAMETIME(frame2, frame2time)
+ FIX_FRAMETIME(frame3, frame3time)
+ FIX_FRAMETIME(frame4, frame4time)
}
}
float CSQCPlayer_FallbackFrame(float f)
float EF_DIMLIGHT = 8;
float EF_DOUBLESIDED = 32768;
float EF_NOSELFSHADOW = 65536;
+float EF_DYNAMICMODELLIGHT = 131072;
float MF_ROCKET = 1; // leave a trail
float MF_GRENADE = 2; // leave a trail
float MF_GIB = 4; // leave a trail
adddynamiclight(self.origin, 400, '3 3 3');
if(eff & EF_DIMLIGHT)
adddynamiclight(self.origin, 200, '1.5 1.5 1.5');
- if((eff & EF_NODRAW) || (self.csqcmodel_effects & CSQCMODEL_EF_INVISIBLE))
+ if((eff & EF_NODRAW) || (self.csqcmodel_effects & CSQCMODEL_EF_INVISIBLE) || (self.alpha < 0))
self.drawmask = 0;
if(eff & EF_ADDITIVE)
self.renderflags |= RF_ADDITIVE;
self.effects |= EF_DOUBLESIDED;
if(eff & EF_NOSELFSHADOW)
self.effects |= EF_NOSELFSHADOW;
- // ignoring EF_UNUSED17, EF_UNUSED18, EF_UNUSED19, EF_RESTARTANIM_BIT, EF_TELEPORT_BIT, EF_LOWPRECISION
+ if(eff & EF_DYNAMICMODELLIGHT)
+ self.renderflags |= RF_DYNAMICMODELLIGHT;
+ // ignoring EF_UNUSED18, EF_UNUSED19, EF_RESTARTANIM_BIT, EF_TELEPORT_BIT, EF_LOWPRECISION
if(self.csqcmodel_modelflags & MF_ROCKET)
self.traileffect = particleeffectnum("TR_ROCKET");
if(self.csqcmodel_modelflags & MF_GRENADE)