mirror of
https://git.code.sf.net/p/quake/newtree
synced 2025-05-31 01:00:53 +00:00
Okay, the big whitespace reformat. There is some silliness (case
statements, variable declarations), but all in all it's not bad.
This commit is contained in:
parent
b62d75a774
commit
54e2a4d9d3
172 changed files with 26949 additions and 26640 deletions
493
source/r_view.c
493
source/r_view.c
|
@ -51,36 +51,36 @@ when crossing a water boudnary.
|
|||
|
||||
*/
|
||||
|
||||
cvar_t *cl_rollspeed;
|
||||
cvar_t *cl_rollangle;
|
||||
cvar_t *cl_rollspeed;
|
||||
cvar_t *cl_rollangle;
|
||||
|
||||
cvar_t *cl_bob;
|
||||
cvar_t *cl_bobcycle;
|
||||
cvar_t *cl_bobup;
|
||||
cvar_t *cl_bob;
|
||||
cvar_t *cl_bobcycle;
|
||||
cvar_t *cl_bobup;
|
||||
|
||||
cvar_t *v_kicktime;
|
||||
cvar_t *v_kickroll;
|
||||
cvar_t *v_kickpitch;
|
||||
cvar_t *v_kicktime;
|
||||
cvar_t *v_kickroll;
|
||||
cvar_t *v_kickpitch;
|
||||
|
||||
cvar_t *v_iyaw_cycle;
|
||||
cvar_t *v_iroll_cycle;
|
||||
cvar_t *v_ipitch_cycle;
|
||||
cvar_t *v_iyaw_level;
|
||||
cvar_t *v_iroll_level;
|
||||
cvar_t *v_ipitch_level;
|
||||
cvar_t *v_iyaw_cycle;
|
||||
cvar_t *v_iroll_cycle;
|
||||
cvar_t *v_ipitch_cycle;
|
||||
cvar_t *v_iyaw_level;
|
||||
cvar_t *v_iroll_level;
|
||||
cvar_t *v_ipitch_level;
|
||||
|
||||
cvar_t *v_idlescale;
|
||||
cvar_t *v_idlescale;
|
||||
|
||||
cvar_t *v_contentblend;
|
||||
cvar_t *v_contentblend;
|
||||
|
||||
float v_dmg_time, v_dmg_roll, v_dmg_pitch;
|
||||
float v_dmg_time, v_dmg_roll, v_dmg_pitch;
|
||||
|
||||
extern int in_forward, in_forward2, in_back;
|
||||
extern int in_forward, in_forward2, in_back;
|
||||
|
||||
frame_t *view_frame;
|
||||
player_state_t *view_message;
|
||||
frame_t *view_frame;
|
||||
player_state_t *view_message;
|
||||
|
||||
void BuildGammaTable (float, float);
|
||||
void BuildGammaTable (float, float);
|
||||
|
||||
/*
|
||||
===============
|
||||
|
@ -88,27 +88,28 @@ V_CalcRoll
|
|||
|
||||
===============
|
||||
*/
|
||||
float V_CalcRoll (vec3_t angles, vec3_t velocity)
|
||||
float
|
||||
V_CalcRoll (vec3_t angles, vec3_t velocity)
|
||||
{
|
||||
vec3_t forward, right, up;
|
||||
float sign;
|
||||
float side;
|
||||
float value;
|
||||
|
||||
vec3_t forward, right, up;
|
||||
float sign;
|
||||
float side;
|
||||
float value;
|
||||
|
||||
AngleVectors (angles, forward, right, up);
|
||||
side = DotProduct (velocity, right);
|
||||
sign = side < 0 ? -1 : 1;
|
||||
side = fabs(side);
|
||||
|
||||
side = fabs (side);
|
||||
|
||||
value = cl_rollangle->value;
|
||||
|
||||
if (side < cl_rollspeed->value)
|
||||
side = side * value / cl_rollspeed->value;
|
||||
else
|
||||
side = value;
|
||||
|
||||
return side*sign;
|
||||
|
||||
|
||||
return side * sign;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
@ -118,64 +119,69 @@ V_CalcBob
|
|||
|
||||
===============
|
||||
*/
|
||||
float V_CalcBob (void)
|
||||
float
|
||||
V_CalcBob (void)
|
||||
{
|
||||
static double bobtime;
|
||||
static float bob;
|
||||
float cycle;
|
||||
|
||||
static double bobtime;
|
||||
static float bob;
|
||||
float cycle;
|
||||
|
||||
if (cl.spectator)
|
||||
return 0;
|
||||
|
||||
if (onground == -1)
|
||||
return bob; // just use old value
|
||||
return bob; // just use old value
|
||||
|
||||
bobtime += host_frametime;
|
||||
cycle = bobtime - (int)(bobtime/cl_bobcycle->value)*cl_bobcycle->value;
|
||||
cycle = bobtime - (int) (bobtime / cl_bobcycle->value) * cl_bobcycle->value;
|
||||
cycle /= cl_bobcycle->value;
|
||||
if (cycle < cl_bobup->value)
|
||||
cycle = M_PI * cycle / cl_bobup->value;
|
||||
else
|
||||
cycle = M_PI + M_PI*(cycle-cl_bobup->value)/(1.0 - cl_bobup->value);
|
||||
cycle =
|
||||
M_PI + M_PI * (cycle - cl_bobup->value) / (1.0 - cl_bobup->value);
|
||||
|
||||
// bob is proportional to simulated velocity in the xy plane
|
||||
// (don't count Z, or jumping messes it up)
|
||||
|
||||
bob = sqrt(cl.simvel[0]*cl.simvel[0] + cl.simvel[1]*cl.simvel[1]) * cl_bob->value;
|
||||
bob = bob*0.3 + bob*0.7*sin(cycle);
|
||||
bob =
|
||||
sqrt (cl.simvel[0] * cl.simvel[0] +
|
||||
cl.simvel[1] * cl.simvel[1]) * cl_bob->value;
|
||||
bob = bob * 0.3 + bob * 0.7 * sin (cycle);
|
||||
if (bob > 4)
|
||||
bob = 4;
|
||||
else if (bob < -7)
|
||||
bob = -7;
|
||||
return bob;
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
//=============================================================================
|
||||
|
||||
|
||||
cvar_t *v_centermove;
|
||||
cvar_t *v_centerspeed;
|
||||
cvar_t *v_centermove;
|
||||
cvar_t *v_centerspeed;
|
||||
|
||||
|
||||
void V_StartPitchDrift (void)
|
||||
void
|
||||
V_StartPitchDrift (void)
|
||||
{
|
||||
#if 1
|
||||
if (cl.laststop == cl.time)
|
||||
{
|
||||
return; // something else is keeping it from drifting
|
||||
if (cl.laststop == cl.time) {
|
||||
return; // something else is keeping it from
|
||||
// drifting
|
||||
}
|
||||
#endif
|
||||
if (cl.nodrift || !cl.pitchvel)
|
||||
{
|
||||
if (cl.nodrift || !cl.pitchvel) {
|
||||
cl.pitchvel = v_centerspeed->value;
|
||||
cl.nodrift = false;
|
||||
cl.driftmove = 0;
|
||||
}
|
||||
}
|
||||
|
||||
void V_StopPitchDrift (void)
|
||||
void
|
||||
V_StopPitchDrift (void)
|
||||
{
|
||||
cl.laststop = cl.time;
|
||||
cl.nodrift = true;
|
||||
|
@ -195,58 +201,51 @@ Drifting is enabled when the center view key is hit, mlook is released and
|
|||
lookspring is non 0, or when
|
||||
===============
|
||||
*/
|
||||
void V_DriftPitch (void)
|
||||
void
|
||||
V_DriftPitch (void)
|
||||
{
|
||||
float delta, move;
|
||||
float delta, move;
|
||||
|
||||
if (view_message->onground == -1 || cls.demoplayback )
|
||||
{
|
||||
if (view_message->onground == -1 || cls.demoplayback) {
|
||||
cl.driftmove = 0;
|
||||
cl.pitchvel = 0;
|
||||
return;
|
||||
}
|
||||
|
||||
// don't count small mouse motion
|
||||
if (cl.nodrift)
|
||||
{
|
||||
if ( fabs(cl.frames[(cls.netchan.outgoing_sequence-1)&UPDATE_MASK].cmd.forwardmove) < 200)
|
||||
if (cl.nodrift) {
|
||||
if (fabs
|
||||
(cl.frames[(cls.netchan.outgoing_sequence - 1) & UPDATE_MASK].cmd.
|
||||
forwardmove) < 200)
|
||||
cl.driftmove = 0;
|
||||
else
|
||||
cl.driftmove += host_frametime;
|
||||
|
||||
if ( cl.driftmove > v_centermove->value)
|
||||
{
|
||||
|
||||
if (cl.driftmove > v_centermove->value) {
|
||||
V_StartPitchDrift ();
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
delta = 0 - cl.viewangles[PITCH];
|
||||
|
||||
if (!delta)
|
||||
{
|
||||
if (!delta) {
|
||||
cl.pitchvel = 0;
|
||||
return;
|
||||
}
|
||||
|
||||
move = host_frametime * cl.pitchvel;
|
||||
cl.pitchvel += host_frametime * v_centerspeed->value;
|
||||
|
||||
|
||||
//Con_Printf ("move: %f (%f)\n", move, host_frametime);
|
||||
|
||||
if (delta > 0)
|
||||
{
|
||||
if (move > delta)
|
||||
{
|
||||
if (delta > 0) {
|
||||
if (move > delta) {
|
||||
cl.pitchvel = 0;
|
||||
move = delta;
|
||||
}
|
||||
cl.viewangles[PITCH] += move;
|
||||
}
|
||||
else if (delta < 0)
|
||||
{
|
||||
if (move > -delta)
|
||||
{
|
||||
} else if (delta < 0) {
|
||||
if (move > -delta) {
|
||||
cl.pitchvel = 0;
|
||||
move = -delta;
|
||||
}
|
||||
|
@ -260,38 +259,39 @@ void V_DriftPitch (void)
|
|||
PALETTE FLASHES
|
||||
|
||||
==============================================================================
|
||||
*/
|
||||
*/
|
||||
|
||||
cvar_t *gl_cshiftpercent;
|
||||
cvar_t *gl_cshiftpercent;
|
||||
|
||||
cshift_t cshift_empty = { {130,80,50}, 0 };
|
||||
cshift_t cshift_water = { {130,80,50}, 128 };
|
||||
cshift_t cshift_slime = { {0,25,5}, 150 };
|
||||
cshift_t cshift_lava = { {255,80,0}, 150 };
|
||||
cshift_t cshift_empty = { {130, 80, 50}, 0 };
|
||||
cshift_t cshift_water = { {130, 80, 50}, 128 };
|
||||
cshift_t cshift_slime = { {0, 25, 5}, 150 };
|
||||
cshift_t cshift_lava = { {255, 80, 0}, 150 };
|
||||
|
||||
cvar_t *brightness;
|
||||
cvar_t *contrast;
|
||||
cvar_t *brightness;
|
||||
cvar_t *contrast;
|
||||
|
||||
byte gammatable[256]; // palette is sent through this
|
||||
byte gammatable[256]; // palette is sent through this
|
||||
|
||||
/*
|
||||
=================
|
||||
V_CheckGamma
|
||||
=================
|
||||
*/
|
||||
qboolean V_CheckGamma (void)
|
||||
qboolean
|
||||
V_CheckGamma (void)
|
||||
{
|
||||
static float oldbrightness;
|
||||
static float oldcontrast;
|
||||
|
||||
|
||||
if ((brightness->value == oldbrightness) && contrast->value == oldcontrast)
|
||||
return false;
|
||||
oldbrightness = brightness->value;
|
||||
oldcontrast = contrast->value;
|
||||
|
||||
|
||||
BuildGammaTable (brightness->value, contrast->value);
|
||||
vid.recalc_refdef = 1; // force a surface cache flush
|
||||
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -302,27 +302,28 @@ qboolean V_CheckGamma (void)
|
|||
V_ParseDamage
|
||||
===============
|
||||
*/
|
||||
void V_ParseDamage (void)
|
||||
void
|
||||
V_ParseDamage (void)
|
||||
{
|
||||
int armor, blood;
|
||||
vec3_t from;
|
||||
int i;
|
||||
vec3_t forward, right, up;
|
||||
float side;
|
||||
float count;
|
||||
|
||||
int armor, blood;
|
||||
vec3_t from;
|
||||
int i;
|
||||
vec3_t forward, right, up;
|
||||
float side;
|
||||
float count;
|
||||
|
||||
armor = MSG_ReadByte ();
|
||||
blood = MSG_ReadByte ();
|
||||
for (i=0 ; i<3 ; i++)
|
||||
for (i = 0; i < 3; i++)
|
||||
from[i] = MSG_ReadCoord ();
|
||||
|
||||
count = blood*0.5 + armor*0.5;
|
||||
count = blood * 0.5 + armor * 0.5;
|
||||
if (count < 10)
|
||||
count = 10;
|
||||
|
||||
cl.faceanimtime = cl.time + 0.2; // but sbar face into pain frame
|
||||
cl.faceanimtime = cl.time + 0.2; // but sbar face into pain frame
|
||||
|
||||
cl.cshifts[CSHIFT_DAMAGE].percent += 3*count;
|
||||
cl.cshifts[CSHIFT_DAMAGE].percent += 3 * count;
|
||||
if (cl.cshifts[CSHIFT_DAMAGE].percent < 0)
|
||||
cl.cshifts[CSHIFT_DAMAGE].percent = 0;
|
||||
if (cl.cshifts[CSHIFT_DAMAGE].percent > 150)
|
||||
|
@ -347,14 +348,14 @@ void V_ParseDamage (void)
|
|||
//
|
||||
VectorSubtract (from, cl.simorg, from);
|
||||
VectorNormalize (from);
|
||||
|
||||
|
||||
AngleVectors (cl.simangles, forward, right, up);
|
||||
|
||||
side = DotProduct (from, right);
|
||||
v_dmg_roll = count*side*v_kickroll->value;
|
||||
|
||||
v_dmg_roll = count * side * v_kickroll->value;
|
||||
|
||||
side = DotProduct (from, forward);
|
||||
v_dmg_pitch = count*side*v_kickpitch->value;
|
||||
v_dmg_pitch = count * side * v_kickpitch->value;
|
||||
|
||||
v_dmg_time = v_kicktime->value;
|
||||
}
|
||||
|
@ -365,12 +366,13 @@ void V_ParseDamage (void)
|
|||
V_cshift_f
|
||||
==================
|
||||
*/
|
||||
void V_cshift_f (void)
|
||||
void
|
||||
V_cshift_f (void)
|
||||
{
|
||||
cshift_empty.destcolor[0] = atoi(Cmd_Argv(1));
|
||||
cshift_empty.destcolor[1] = atoi(Cmd_Argv(2));
|
||||
cshift_empty.destcolor[2] = atoi(Cmd_Argv(3));
|
||||
cshift_empty.percent = atoi(Cmd_Argv(4));
|
||||
cshift_empty.destcolor[0] = atoi (Cmd_Argv (1));
|
||||
cshift_empty.destcolor[1] = atoi (Cmd_Argv (2));
|
||||
cshift_empty.destcolor[2] = atoi (Cmd_Argv (3));
|
||||
cshift_empty.percent = atoi (Cmd_Argv (4));
|
||||
}
|
||||
|
||||
|
||||
|
@ -381,7 +383,8 @@ V_BonusFlash_f
|
|||
When you run over an item, the server sends this command
|
||||
==================
|
||||
*/
|
||||
void V_BonusFlash_f (void)
|
||||
void
|
||||
V_BonusFlash_f (void)
|
||||
{
|
||||
cl.cshifts[CSHIFT_BONUS].destcolor[0] = 215;
|
||||
cl.cshifts[CSHIFT_BONUS].destcolor[1] = 186;
|
||||
|
@ -396,7 +399,8 @@ V_SetContentsColor
|
|||
Underwater, lava, etc each has a color shift
|
||||
=============
|
||||
*/
|
||||
void V_SetContentsColor (int contents)
|
||||
void
|
||||
V_SetContentsColor (int contents)
|
||||
{
|
||||
if (!v_contentblend->int_val) {
|
||||
cl.cshifts[CSHIFT_CONTENTS] = cshift_empty;
|
||||
|
@ -404,18 +408,18 @@ void V_SetContentsColor (int contents)
|
|||
}
|
||||
|
||||
switch (contents) {
|
||||
case CONTENTS_EMPTY:
|
||||
cl.cshifts[CSHIFT_CONTENTS] = cshift_empty;
|
||||
break;
|
||||
case CONTENTS_LAVA:
|
||||
cl.cshifts[CSHIFT_CONTENTS] = cshift_lava;
|
||||
break;
|
||||
case CONTENTS_SOLID:
|
||||
case CONTENTS_SLIME:
|
||||
cl.cshifts[CSHIFT_CONTENTS] = cshift_slime;
|
||||
break;
|
||||
default:
|
||||
cl.cshifts[CSHIFT_CONTENTS] = cshift_water;
|
||||
case CONTENTS_EMPTY:
|
||||
cl.cshifts[CSHIFT_CONTENTS] = cshift_empty;
|
||||
break;
|
||||
case CONTENTS_LAVA:
|
||||
cl.cshifts[CSHIFT_CONTENTS] = cshift_lava;
|
||||
break;
|
||||
case CONTENTS_SOLID:
|
||||
case CONTENTS_SLIME:
|
||||
cl.cshifts[CSHIFT_CONTENTS] = cshift_slime;
|
||||
break;
|
||||
default:
|
||||
cl.cshifts[CSHIFT_CONTENTS] = cshift_water;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -424,9 +428,10 @@ void V_SetContentsColor (int contents)
|
|||
V_CalcPowerupCshift
|
||||
=============
|
||||
*/
|
||||
void V_CalcPowerupCshift (void)
|
||||
void
|
||||
V_CalcPowerupCshift (void)
|
||||
{
|
||||
if (cl.stats[STAT_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;
|
||||
|
@ -456,11 +461,12 @@ void V_CalcPowerupCshift (void)
|
|||
VIEW RENDERING
|
||||
|
||||
==============================================================================
|
||||
*/
|
||||
*/
|
||||
|
||||
float angledelta (float a)
|
||||
float
|
||||
angledelta (float a)
|
||||
{
|
||||
a = anglemod(a);
|
||||
a = anglemod (a);
|
||||
if (a > 180)
|
||||
a -= 360;
|
||||
return a;
|
||||
|
@ -471,48 +477,43 @@ float angledelta (float a)
|
|||
CalcGunAngle
|
||||
==================
|
||||
*/
|
||||
void CalcGunAngle (void)
|
||||
{
|
||||
float yaw, pitch, move;
|
||||
void
|
||||
CalcGunAngle (void)
|
||||
{
|
||||
float yaw, pitch, move;
|
||||
static float oldyaw = 0;
|
||||
static float oldpitch = 0;
|
||||
|
||||
|
||||
yaw = r_refdef.viewangles[YAW];
|
||||
pitch = -r_refdef.viewangles[PITCH];
|
||||
|
||||
yaw = angledelta(yaw - r_refdef.viewangles[YAW]) * 0.4;
|
||||
yaw = angledelta (yaw - r_refdef.viewangles[YAW]) * 0.4;
|
||||
yaw = bound (-10, yaw, 10);
|
||||
pitch = angledelta(-pitch - r_refdef.viewangles[PITCH]) * 0.4;
|
||||
pitch = angledelta (-pitch - r_refdef.viewangles[PITCH]) * 0.4;
|
||||
pitch = bound (-10, pitch, 10);
|
||||
|
||||
move = host_frametime*20;
|
||||
if (yaw > oldyaw)
|
||||
{
|
||||
|
||||
move = host_frametime * 20;
|
||||
if (yaw > oldyaw) {
|
||||
if (oldyaw + move < yaw)
|
||||
yaw = oldyaw + move;
|
||||
}
|
||||
else
|
||||
{
|
||||
} else {
|
||||
if (oldyaw - move > yaw)
|
||||
yaw = oldyaw - move;
|
||||
}
|
||||
|
||||
if (pitch > oldpitch)
|
||||
{
|
||||
|
||||
if (pitch > oldpitch) {
|
||||
if (oldpitch + move < pitch)
|
||||
pitch = oldpitch + move;
|
||||
}
|
||||
else
|
||||
{
|
||||
} else {
|
||||
if (oldpitch - move > pitch)
|
||||
pitch = oldpitch - move;
|
||||
}
|
||||
|
||||
|
||||
oldyaw = yaw;
|
||||
oldpitch = pitch;
|
||||
|
||||
cl.viewent.angles[YAW] = r_refdef.viewangles[YAW] + yaw;
|
||||
cl.viewent.angles[PITCH] = - (r_refdef.viewangles[PITCH] + pitch);
|
||||
cl.viewent.angles[PITCH] = -(r_refdef.viewangles[PITCH] + pitch);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -520,7 +521,8 @@ void CalcGunAngle (void)
|
|||
V_BoundOffsets
|
||||
==============
|
||||
*/
|
||||
void V_BoundOffsets (void)
|
||||
void
|
||||
V_BoundOffsets (void)
|
||||
{
|
||||
// absolutely bound refresh reletive to entity clipping hull
|
||||
// so the view can never be inside a solid wall
|
||||
|
@ -546,15 +548,28 @@ V_AddIdle
|
|||
Idle swaying
|
||||
==============
|
||||
*/
|
||||
void V_AddIdle (void)
|
||||
void
|
||||
V_AddIdle (void)
|
||||
{
|
||||
r_refdef.viewangles[ROLL] += v_idlescale->value * sin(cl.time*v_iroll_cycle->value) * v_iroll_level->value;
|
||||
r_refdef.viewangles[PITCH] += v_idlescale->value * sin(cl.time*v_ipitch_cycle->value) * v_ipitch_level->value;
|
||||
r_refdef.viewangles[YAW] += v_idlescale->value * sin(cl.time*v_iyaw_cycle->value) * v_iyaw_level->value;
|
||||
r_refdef.viewangles[ROLL] +=
|
||||
v_idlescale->value * sin (cl.time * v_iroll_cycle->value) *
|
||||
v_iroll_level->value;
|
||||
r_refdef.viewangles[PITCH] +=
|
||||
v_idlescale->value * sin (cl.time * v_ipitch_cycle->value) *
|
||||
v_ipitch_level->value;
|
||||
r_refdef.viewangles[YAW] +=
|
||||
v_idlescale->value * sin (cl.time * v_iyaw_cycle->value) *
|
||||
v_iyaw_level->value;
|
||||
|
||||
cl.viewent.angles[ROLL] -= v_idlescale->value * sin(cl.time*v_iroll_cycle->value) * v_iroll_level->value;
|
||||
cl.viewent.angles[PITCH] -= v_idlescale->value * sin(cl.time*v_ipitch_cycle->value) * v_ipitch_level->value;
|
||||
cl.viewent.angles[YAW] -= v_idlescale->value * sin(cl.time*v_iyaw_cycle->value) * v_iyaw_level->value;
|
||||
cl.viewent.angles[ROLL] -=
|
||||
v_idlescale->value * sin (cl.time * v_iroll_cycle->value) *
|
||||
v_iroll_level->value;
|
||||
cl.viewent.angles[PITCH] -=
|
||||
v_idlescale->value * sin (cl.time * v_ipitch_cycle->value) *
|
||||
v_ipitch_level->value;
|
||||
cl.viewent.angles[YAW] -=
|
||||
v_idlescale->value * sin (cl.time * v_iyaw_cycle->value) *
|
||||
v_iyaw_level->value;
|
||||
}
|
||||
|
||||
|
||||
|
@ -565,17 +580,19 @@ V_CalcViewRoll
|
|||
Roll is induced by movement and damage
|
||||
==============
|
||||
*/
|
||||
void V_CalcViewRoll (void)
|
||||
void
|
||||
V_CalcViewRoll (void)
|
||||
{
|
||||
float side;
|
||||
|
||||
float side;
|
||||
|
||||
side = V_CalcRoll (cl.simangles, cl.simvel);
|
||||
r_refdef.viewangles[ROLL] += side;
|
||||
|
||||
if (v_dmg_time > 0)
|
||||
{
|
||||
r_refdef.viewangles[ROLL] += v_dmg_time/v_kicktime->value*v_dmg_roll;
|
||||
r_refdef.viewangles[PITCH] += v_dmg_time/v_kicktime->value*v_dmg_pitch;
|
||||
if (v_dmg_time > 0) {
|
||||
r_refdef.viewangles[ROLL] +=
|
||||
v_dmg_time / v_kicktime->value * v_dmg_roll;
|
||||
r_refdef.viewangles[PITCH] +=
|
||||
v_dmg_time / v_kicktime->value * v_dmg_pitch;
|
||||
v_dmg_time -= host_frametime;
|
||||
}
|
||||
|
||||
|
@ -588,10 +605,11 @@ V_CalcIntermissionRefdef
|
|||
|
||||
==================
|
||||
*/
|
||||
void V_CalcIntermissionRefdef (void)
|
||||
void
|
||||
V_CalcIntermissionRefdef (void)
|
||||
{
|
||||
entity_t *view;
|
||||
float old;
|
||||
entity_t *view;
|
||||
float old;
|
||||
|
||||
// view is the weapon model
|
||||
view = &cl.viewent;
|
||||
|
@ -602,9 +620,9 @@ void V_CalcIntermissionRefdef (void)
|
|||
|
||||
// allways idle in intermission
|
||||
old = v_idlescale->value;
|
||||
Cvar_SetValue(v_idlescale, 1);
|
||||
Cvar_SetValue (v_idlescale, 1);
|
||||
V_AddIdle ();
|
||||
Cvar_SetValue(v_idlescale, old);
|
||||
Cvar_SetValue (v_idlescale, old);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -613,14 +631,15 @@ V_CalcRefdef
|
|||
|
||||
==================
|
||||
*/
|
||||
void V_CalcRefdef (void)
|
||||
void
|
||||
V_CalcRefdef (void)
|
||||
{
|
||||
entity_t *view;
|
||||
int i;
|
||||
vec3_t forward, right, up;
|
||||
float bob;
|
||||
static float oldz = 0;
|
||||
int zofs = 22;
|
||||
entity_t *view;
|
||||
int i;
|
||||
vec3_t forward, right, up;
|
||||
float bob;
|
||||
static float oldz = 0;
|
||||
int zofs = 22;
|
||||
|
||||
if (cl.stdver)
|
||||
zofs = cl.stats[STAT_VIEWHEIGHT];
|
||||
|
@ -631,7 +650,7 @@ void V_CalcRefdef (void)
|
|||
view = &cl.viewent;
|
||||
|
||||
bob = V_CalcBob ();
|
||||
|
||||
|
||||
// refresh position from simulated origin
|
||||
VectorCopy (cl.simorg, r_refdef.vieworg);
|
||||
|
||||
|
@ -640,41 +659,40 @@ void V_CalcRefdef (void)
|
|||
// never let it sit exactly on a node line, because a water plane can
|
||||
// dissapear when viewed with the eye exactly on it.
|
||||
// the server protocol only specifies to 1/8 pixel, so add 1/16 in each axis
|
||||
r_refdef.vieworg[0] += 1.0/16;
|
||||
r_refdef.vieworg[1] += 1.0/16;
|
||||
r_refdef.vieworg[2] += 1.0/16;
|
||||
r_refdef.vieworg[0] += 1.0 / 16;
|
||||
r_refdef.vieworg[1] += 1.0 / 16;
|
||||
r_refdef.vieworg[2] += 1.0 / 16;
|
||||
|
||||
VectorCopy (cl.simangles, r_refdef.viewangles);
|
||||
V_CalcViewRoll ();
|
||||
V_AddIdle ();
|
||||
|
||||
if (view_message->flags & PF_GIB)
|
||||
r_refdef.vieworg[2] += 8; // gib view height
|
||||
r_refdef.vieworg[2] += 8; // gib view height
|
||||
else if (view_message->flags & PF_DEAD)
|
||||
r_refdef.vieworg[2] -= 16; // corpse view height
|
||||
r_refdef.vieworg[2] -= 16; // corpse view height
|
||||
else
|
||||
r_refdef.vieworg[2] += zofs; // view height
|
||||
|
||||
if (view_message->flags & PF_DEAD) // PF_GIB will also set PF_DEAD
|
||||
if (view_message->flags & PF_DEAD) // PF_GIB will also set PF_DEAD
|
||||
r_refdef.viewangles[ROLL] = 80; // dead view angle
|
||||
|
||||
|
||||
// offsets
|
||||
AngleVectors (cl.simangles, forward, right, up);
|
||||
|
||||
|
||||
// set up gun position
|
||||
VectorCopy (cl.simangles, view->angles);
|
||||
|
||||
|
||||
CalcGunAngle ();
|
||||
|
||||
VectorCopy (cl.simorg, view->origin);
|
||||
view->origin[2] += zofs;
|
||||
|
||||
for (i=0 ; i<3 ; i++)
|
||||
{
|
||||
view->origin[i] += forward[i]*bob*0.4;
|
||||
// view->origin[i] += right[i]*bob*0.4;
|
||||
// view->origin[i] += up[i]*bob*0.8;
|
||||
for (i = 0; i < 3; i++) {
|
||||
view->origin[i] += forward[i] * bob * 0.4;
|
||||
// view->origin[i] += right[i]*bob*0.4;
|
||||
// view->origin[i] += up[i]*bob*0.8;
|
||||
}
|
||||
view->origin[2] += bob;
|
||||
|
||||
|
@ -689,9 +707,9 @@ void V_CalcRefdef (void)
|
|||
else if (scr_viewsize->int_val == 80)
|
||||
view->origin[2] += 0.5;
|
||||
|
||||
if (view_message->flags & (PF_GIB|PF_DEAD) )
|
||||
view->model = NULL;
|
||||
else
|
||||
if (view_message->flags & (PF_GIB | PF_DEAD))
|
||||
view->model = NULL;
|
||||
else
|
||||
view->model = cl.model_precache[cl.stats[STAT_WEAPON]];
|
||||
view->frame = view_message->weaponframe;
|
||||
view->colormap = vid.colormap;
|
||||
|
@ -703,12 +721,11 @@ void V_CalcRefdef (void)
|
|||
r_refdef.viewangles[PITCH] += cl.punchangle;
|
||||
|
||||
// smooth out stair step ups
|
||||
if ( (view_message->onground != -1) && (cl.simorg[2] - oldz > 0) )
|
||||
{
|
||||
float steptime;
|
||||
|
||||
if ((view_message->onground != -1) && (cl.simorg[2] - oldz > 0)) {
|
||||
float steptime;
|
||||
|
||||
steptime = host_frametime;
|
||||
|
||||
|
||||
oldz += steptime * 80;
|
||||
if (oldz > cl.simorg[2])
|
||||
oldz = cl.simorg[2];
|
||||
|
@ -716,8 +733,7 @@ void V_CalcRefdef (void)
|
|||
oldz = cl.simorg[2] - 12;
|
||||
r_refdef.vieworg[2] += oldz - cl.simorg[2];
|
||||
view->origin[2] += oldz - cl.simorg[2];
|
||||
}
|
||||
else
|
||||
} else
|
||||
oldz = cl.simorg[2];
|
||||
}
|
||||
|
||||
|
@ -726,9 +742,10 @@ void V_CalcRefdef (void)
|
|||
DropPunchAngle
|
||||
=============
|
||||
*/
|
||||
void DropPunchAngle (void)
|
||||
void
|
||||
DropPunchAngle (void)
|
||||
{
|
||||
cl.punchangle -= 10*host_frametime;
|
||||
cl.punchangle -= 10 * host_frametime;
|
||||
if (cl.punchangle < 0)
|
||||
cl.punchangle = 0;
|
||||
}
|
||||
|
@ -743,11 +760,12 @@ the entity origin, so any view position inside that will be valid
|
|||
*/
|
||||
extern vrect_t scr_vrect;
|
||||
|
||||
void V_RenderView (void)
|
||||
void
|
||||
V_RenderView (void)
|
||||
{
|
||||
// if (cl.simangles[ROLL])
|
||||
// Sys_Error ("cl.simangles[ROLL]"); // DEBUG
|
||||
cl.simangles[ROLL] = 0; // FIXME @@@
|
||||
// if (cl.simangles[ROLL])
|
||||
// Sys_Error ("cl.simangles[ROLL]"); // DEBUG
|
||||
cl.simangles[ROLL] = 0; // FIXME @@@
|
||||
|
||||
if (cls.state != ca_active)
|
||||
return;
|
||||
|
@ -756,12 +774,9 @@ void V_RenderView (void)
|
|||
view_message = &view_frame->playerstate[cl.playernum];
|
||||
|
||||
DropPunchAngle ();
|
||||
if (cl.intermission)
|
||||
{ // intermission / finale rendering
|
||||
V_CalcIntermissionRefdef ();
|
||||
}
|
||||
else
|
||||
{
|
||||
if (cl.intermission) { // intermission / finale rendering
|
||||
V_CalcIntermissionRefdef ();
|
||||
} else {
|
||||
V_CalcRefdef ();
|
||||
}
|
||||
|
||||
|
@ -777,44 +792,46 @@ void V_RenderView (void)
|
|||
V_Init
|
||||
=============
|
||||
*/
|
||||
void V_Init (void)
|
||||
void
|
||||
V_Init (void)
|
||||
{
|
||||
Cmd_AddCommand ("v_cshift", V_cshift_f);
|
||||
Cmd_AddCommand ("v_cshift", V_cshift_f);
|
||||
Cmd_AddCommand ("bf", V_BonusFlash_f);
|
||||
Cmd_AddCommand ("centerview", V_StartPitchDrift);
|
||||
|
||||
BuildGammaTable (1.0, 1.0); // no gamma yet
|
||||
BuildGammaTable (1.0, 1.0); // no gamma yet
|
||||
}
|
||||
|
||||
void V_Init_Cvars (void)
|
||||
void
|
||||
V_Init_Cvars (void)
|
||||
{
|
||||
v_centermove = Cvar_Get("v_centermove", "0.15", CVAR_NONE, "None");
|
||||
v_centerspeed = Cvar_Get("v_centerspeed", "500", CVAR_NONE, "None");
|
||||
v_centermove = Cvar_Get ("v_centermove", "0.15", CVAR_NONE, "None");
|
||||
v_centerspeed = Cvar_Get ("v_centerspeed", "500", CVAR_NONE, "None");
|
||||
|
||||
v_iyaw_cycle = Cvar_Get("v_iyaw_cycle", "2", CVAR_NONE, "None");
|
||||
v_iroll_cycle = Cvar_Get("v_iroll_cycle", "0.5", CVAR_NONE, "None");
|
||||
v_ipitch_cycle = Cvar_Get("v_ipitch_cycle", "1", CVAR_NONE, "None");
|
||||
v_iyaw_level = Cvar_Get("v_iyaw_level", "0.3", CVAR_NONE, "None");
|
||||
v_iroll_level = Cvar_Get("v_iroll_level", "0.1", CVAR_NONE, "None");
|
||||
v_ipitch_level = Cvar_Get("v_ipitch_level", "0.3", CVAR_NONE, "None");
|
||||
v_iyaw_cycle = Cvar_Get ("v_iyaw_cycle", "2", CVAR_NONE, "None");
|
||||
v_iroll_cycle = Cvar_Get ("v_iroll_cycle", "0.5", CVAR_NONE, "None");
|
||||
v_ipitch_cycle = Cvar_Get ("v_ipitch_cycle", "1", CVAR_NONE, "None");
|
||||
v_iyaw_level = Cvar_Get ("v_iyaw_level", "0.3", CVAR_NONE, "None");
|
||||
v_iroll_level = Cvar_Get ("v_iroll_level", "0.1", CVAR_NONE, "None");
|
||||
v_ipitch_level = Cvar_Get ("v_ipitch_level", "0.3", CVAR_NONE, "None");
|
||||
|
||||
v_contentblend = Cvar_Get("v_contentblend", "1", CVAR_NONE, "None");
|
||||
v_contentblend = Cvar_Get ("v_contentblend", "1", CVAR_NONE, "None");
|
||||
|
||||
v_idlescale = Cvar_Get("v_idlescale", "0", CVAR_NONE, "None");
|
||||
v_idlescale = Cvar_Get ("v_idlescale", "0", CVAR_NONE, "None");
|
||||
|
||||
cl_rollspeed = Cvar_Get("cl_rollspeed", "200", CVAR_NONE, "None");
|
||||
cl_rollangle = Cvar_Get("cl_rollangle", "2.0", CVAR_NONE, "None");
|
||||
cl_rollspeed = Cvar_Get ("cl_rollspeed", "200", CVAR_NONE, "None");
|
||||
cl_rollangle = Cvar_Get ("cl_rollangle", "2.0", CVAR_NONE, "None");
|
||||
|
||||
cl_bob = Cvar_Get("cl_bob", "0.02", CVAR_NONE, "None");
|
||||
cl_bobcycle = Cvar_Get("cl_bobcycle", "0.6", CVAR_NONE, "None");
|
||||
cl_bobup = Cvar_Get("cl_bobup", "0.5", CVAR_NONE, "None");
|
||||
cl_bob = Cvar_Get ("cl_bob", "0.02", CVAR_NONE, "None");
|
||||
cl_bobcycle = Cvar_Get ("cl_bobcycle", "0.6", CVAR_NONE, "None");
|
||||
cl_bobup = Cvar_Get ("cl_bobup", "0.5", CVAR_NONE, "None");
|
||||
|
||||
v_kicktime = Cvar_Get("v_kicktime", "0.5", CVAR_NONE, "None");
|
||||
v_kickroll = Cvar_Get("v_kickroll", "0.6", CVAR_NONE, "None");
|
||||
v_kickpitch = Cvar_Get("v_kickpitch", "0.6", CVAR_NONE, "None");
|
||||
v_kicktime = Cvar_Get ("v_kicktime", "0.5", CVAR_NONE, "None");
|
||||
v_kickroll = Cvar_Get ("v_kickroll", "0.6", CVAR_NONE, "None");
|
||||
v_kickpitch = Cvar_Get ("v_kickpitch", "0.6", CVAR_NONE, "None");
|
||||
|
||||
gl_cshiftpercent = Cvar_Get("gl_cshiftpercent", "100", CVAR_NONE, "None");
|
||||
gl_cshiftpercent = Cvar_Get ("gl_cshiftpercent", "100", CVAR_NONE, "None");
|
||||
|
||||
brightness = Cvar_Get("brightness", "1", CVAR_ARCHIVE, "None");
|
||||
contrast = Cvar_Get("contrast", "1", CVAR_ARCHIVE, "None");
|
||||
brightness = Cvar_Get ("brightness", "1", CVAR_ARCHIVE, "None");
|
||||
contrast = Cvar_Get ("contrast", "1", CVAR_ARCHIVE, "None");
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue