armor = MSG_ReadByte ();
blood = MSG_ReadByte ();
- MSG_ReadVector(from);
+ MSG_ReadVector(from, cl.protocol);
count = blood*0.5 + armor*0.5;
if (count < 10)
==================
*/
-extern float timerefreshangle;
void V_CalcRefdef (void)
{
static float oldz;
VectorCopy(cl.viewangles, viewangles);
// stair smoothing
+ //Con_Printf("cl.onground %i oldz %f newz %f\n", cl.onground, oldz, vieworg[2]);
if (cl.onground && oldz < vieworg[2])
{
oldz += (cl.time - cl.oldtime) * cl_stairsmoothspeed.value;
oldz = vieworg[2] = bound(vieworg[2] - 16, oldz, vieworg[2]);
}
+ else if (cl.onground && oldz > vieworg[2])
+ {
+ oldz -= (cl.time - cl.oldtime) * cl_stairsmoothspeed.value;
+ oldz = vieworg[2] = bound(vieworg[2], oldz, vieworg[2] + 16);
+ }
else
oldz = vieworg[2];
}
// origin
VectorAdd(vieworg, cl.punchvector, vieworg);
- vieworg[2] += cl.viewheight;
+ vieworg[2] += cl.stats[STAT_VIEWHEIGHT];
if (cl.stats[STAT_HEALTH] > 0 && cl_bob.value && cl_bobcycle.value)
{
double bob, cycle;
r_refdef.viewblend[1] = 0;
r_refdef.viewblend[2] = 0;
r_refdef.viewblend[3] = 0;
+ r_refdef.fovscale_x = cl.viewzoom;
+ r_refdef.fovscale_y = cl.viewzoom;
if (cls.state == ca_connected && cls.signon == SIGNONS && gl_polyblend.value > 0)
{
// set contents color
- switch (CL_PointQ1Contents(r_vieworigin))
+ int supercontents;
+ vec3_t vieworigin;
+ Matrix4x4_OriginFromMatrix(&r_refdef.viewentitymatrix, vieworigin);
+ supercontents = CL_PointSuperContents(vieworigin);
+ if (supercontents & SUPERCONTENTS_LIQUIDSMASK)
+ {
+ r_refdef.fovscale_x *= 1 - (((sin(cl.time * 4.7) + 1) * 0.015) * r_waterwarp.value);
+ r_refdef.fovscale_y *= 1 - (((sin(cl.time * 3.0) + 1) * 0.015) * r_waterwarp.value);
+ if (supercontents & SUPERCONTENTS_LAVA)
+ {
+ cl.cshifts[CSHIFT_CONTENTS].destcolor[0] = 255;
+ cl.cshifts[CSHIFT_CONTENTS].destcolor[1] = 80;
+ cl.cshifts[CSHIFT_CONTENTS].destcolor[2] = 0;
+ }
+ else if (supercontents & SUPERCONTENTS_SLIME)
+ {
+ cl.cshifts[CSHIFT_CONTENTS].destcolor[0] = 0;
+ cl.cshifts[CSHIFT_CONTENTS].destcolor[1] = 25;
+ cl.cshifts[CSHIFT_CONTENTS].destcolor[2] = 5;
+ }
+ else
+ {
+ cl.cshifts[CSHIFT_CONTENTS].destcolor[0] = 130;
+ cl.cshifts[CSHIFT_CONTENTS].destcolor[1] = 80;
+ cl.cshifts[CSHIFT_CONTENTS].destcolor[2] = 50;
+ }
+ cl.cshifts[CSHIFT_CONTENTS].percent = 150 >> 1;
+ }
+ else
{
- case CONTENTS_EMPTY:
- case CONTENTS_SOLID:
cl.cshifts[CSHIFT_CONTENTS].destcolor[0] = 0;
cl.cshifts[CSHIFT_CONTENTS].destcolor[1] = 0;
cl.cshifts[CSHIFT_CONTENTS].destcolor[2] = 0;
cl.cshifts[CSHIFT_CONTENTS].percent = 0;
- break;
- case CONTENTS_LAVA:
- cl.cshifts[CSHIFT_CONTENTS].destcolor[0] = 255;
- cl.cshifts[CSHIFT_CONTENTS].destcolor[1] = 80;
- cl.cshifts[CSHIFT_CONTENTS].destcolor[2] = 0;
- cl.cshifts[CSHIFT_CONTENTS].percent = 150 >> 1;
- break;
- case CONTENTS_SLIME:
- cl.cshifts[CSHIFT_CONTENTS].destcolor[0] = 0;
- cl.cshifts[CSHIFT_CONTENTS].destcolor[1] = 25;
- cl.cshifts[CSHIFT_CONTENTS].destcolor[2] = 5;
- cl.cshifts[CSHIFT_CONTENTS].percent = 150 >> 1;
- break;
- default:
- cl.cshifts[CSHIFT_CONTENTS].destcolor[0] = 130;
- cl.cshifts[CSHIFT_CONTENTS].destcolor[1] = 80;
- cl.cshifts[CSHIFT_CONTENTS].destcolor[2] = 50;
- cl.cshifts[CSHIFT_CONTENTS].percent = 128 >> 1;
}
if (gamemode != GAME_TRANSFUSION)
{
- if (cl.items & IT_QUAD)
+ if (cl.stats[STAT_ITEMS] & IT_QUAD)
{
cl.cshifts[CSHIFT_POWERUP].destcolor[0] = 0;
cl.cshifts[CSHIFT_POWERUP].destcolor[1] = 0;
cl.cshifts[CSHIFT_POWERUP].destcolor[2] = 255;
cl.cshifts[CSHIFT_POWERUP].percent = 30;
}
- else if (cl.items & IT_SUIT)
+ else if (cl.stats[STAT_ITEMS] & IT_SUIT)
{
cl.cshifts[CSHIFT_POWERUP].destcolor[0] = 0;
cl.cshifts[CSHIFT_POWERUP].destcolor[1] = 255;
cl.cshifts[CSHIFT_POWERUP].destcolor[2] = 0;
cl.cshifts[CSHIFT_POWERUP].percent = 20;
}
- else if (cl.items & IT_INVISIBILITY)
+ else if (cl.stats[STAT_ITEMS] & IT_INVISIBILITY)
{
cl.cshifts[CSHIFT_POWERUP].destcolor[0] = 100;
cl.cshifts[CSHIFT_POWERUP].destcolor[1] = 100;
cl.cshifts[CSHIFT_POWERUP].destcolor[2] = 100;
cl.cshifts[CSHIFT_POWERUP].percent = 100;
}
- else if (cl.items & IT_INVULNERABILITY)
+ else if (cl.stats[STAT_ITEMS] & IT_INVULNERABILITY)
{
cl.cshifts[CSHIFT_POWERUP].destcolor[0] = 255;
cl.cshifts[CSHIFT_POWERUP].destcolor[1] = 255;