if(autocvar_chase_active < 0)
cvar_set("chase_active", "0");
+ if (autocvar_r_drawviewmodel < 0)
+ cvar_set("r_drawviewmodel", "0");
+
cvar_set("slowmo", cvar_defstring("slowmo")); // reset it back to 'default'
if (!isdemo())
ticrate = STAT(MOVEVARS_TICRATE) * STAT(MOVEVARS_TIMESCALE);
+ if (autocvar_chase_active)
+ {
+ // in first person view if r_drawviewmodel is off weapon isn't visible
+ // and server doesn't throw any casing
+ // switching to 3rd person view r_drawviewmodel is set to -1 to let know the server casings
+ // can be thrown for self since own weapon model is visible
+ if (autocvar_r_drawviewmodel == 0 && STAT(HEALTH) > 0)
+ cvar_set("r_drawviewmodel", "-1");
+ }
+ else
+ {
+ if (autocvar_r_drawviewmodel < 0)
+ cvar_set("r_drawviewmodel", "0");
+ }
+
WaypointSprite_Load();
CSQCPlayer_SetCamera();
#if defined(SVQC)
.bool cvar_cl_casings;
-.bool cvar_r_drawviewmodel;
+.int cvar_r_drawviewmodel;
#elif defined(CSQC)
bool cvar_cl_casings;
-bool cvar_r_drawviewmodel;
+int cvar_r_drawviewmodel;
#endif
REPLICATE(cvar_cl_casings, bool, "cl_casings");
-REPLICATE(cvar_r_drawviewmodel, bool, "r_drawviewmodel");
+REPLICATE(cvar_r_drawviewmodel, int, "r_drawviewmodel");
#ifdef SVQC
void SpawnCasing(vector vel, float randomvel, vector ang, vector avel, float randomavel, int casingtype, entity casingowner, .entity weaponentity)