Skip to content

Commit 90039a6

Browse files
committed
Fully reset non-xray players.
1 parent 90a23dd commit 90039a6

File tree

1 file changed

+16
-6
lines changed

1 file changed

+16
-6
lines changed

src/main.qc

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
#define RSES_NOLIGHTS 8
2121

2222
#define MASK_XRAY (1<<3)
23+
#define MASK_PIP (1<<4)
2324

2425
var float match_start_time = 0;
2526
var int camera_index = -1;
@@ -221,18 +222,27 @@ void(float apilevel, string enginename, float engineversion) CSQC_Init =
221222
registercommand("pip");
222223
};
223224

225+
void(entity ent) PipResetPlayer =
226+
{
227+
ent.drawmask = MASK_PIP;
228+
ent.effects = 0;
229+
ent.alpha = 0;
230+
ent.fatness = 0;
231+
ent.forceshader = 0;
232+
};
233+
224234
float(float isnew) PipNewPlayer =
225235
{
236+
226237
if (!cvar("pip_xray")) {
227-
self.drawmask = 0;
238+
PipResetPlayer(self);
228239
return isnew;
229240
}
230241

231242
float pnum = self.entnum-1;
232243
float health = getplayerstat(pnum, STAT_HEALTH, EV_FLOAT);
233-
234244
if (health <= 0) {
235-
self.drawmask = 0;
245+
PipResetPlayer(self);
236246
return isnew;
237247
}
238248

@@ -241,13 +251,13 @@ float(float isnew) PipNewPlayer =
241251

242252
float distance = vlen(org - self.origin);
243253
if (distance > cutoff) {
244-
self.drawmask = 0;
254+
PipResetPlayer(self);
245255
return isnew;
246256
}
247257

248258
traceline(org, self.origin, MOVE_NORMAL | MOVE_NOMONSTERS, self);
249259
if (trace_fraction == 1) {
250-
self.drawmask = 0;
260+
PipResetPlayer(self);
251261
return isnew;
252262
}
253263

@@ -408,7 +418,7 @@ void(float vwidth, float vheight, float notmenu) CSQC_UpdateView =
408418
setviewprop(VF_SIZE_Y, height);
409419
setviewprop(VF_ANGLES, item->camera->angles);
410420
setviewprop(VF_FOV, '110 0 0');
411-
addentities(MASK_ENGINE);
421+
addentities(MASK_ENGINE | MASK_PIP);
412422
413423
cvar_set("scr_autoid_armor", "0");
414424
cvar_set("scr_autoid_health", "0");

0 commit comments

Comments
 (0)