Cvar merge... segfault problems... also unknown problems in vid_svga.c

This commit is contained in:
Dan Olson 2000-05-16 04:47:41 +00:00
parent 5c58a21a1c
commit 1d26c02826
74 changed files with 4288 additions and 1509 deletions

View file

@ -39,35 +39,77 @@ when crossing a water boudnary.
*/
cvar_t lcd_x = {"lcd_x", "0"}; // FIXME: make this work sometime...
/* cvar_t lcd_x = {"lcd_x", "0"}; // FIXME: make this work sometime...
CVAR_FIXME */
cvar_t *lcd_x; // FIXME: make this work sometime...
cvar_t cl_rollspeed = {"cl_rollspeed", "200"};
cvar_t cl_rollangle = {"cl_rollangle", "2.0"};
/* cvar_t cl_rollspeed = {"cl_rollspeed", "200"};
CVAR_FIXME */
cvar_t *cl_rollspeed;
/* cvar_t cl_rollangle = {"cl_rollangle", "2.0"};
CVAR_FIXME */
cvar_t *cl_rollangle;
cvar_t cl_bob = {"cl_bob","0.02", false};
cvar_t cl_bobcycle = {"cl_bobcycle","0.6", false};
cvar_t cl_bobup = {"cl_bobup","0.5", false};
/* cvar_t cl_bob = {"cl_bob","0.02", false};
CVAR_FIXME */
cvar_t *cl_bob;
/* cvar_t cl_bobcycle = {"cl_bobcycle","0.6", false};
CVAR_FIXME */
cvar_t *cl_bobcycle;
/* cvar_t cl_bobup = {"cl_bobup","0.5", false};
CVAR_FIXME */
cvar_t *cl_bobup;
cvar_t v_kicktime = {"v_kicktime", "0.5", false};
cvar_t v_kickroll = {"v_kickroll", "0.6", false};
cvar_t v_kickpitch = {"v_kickpitch", "0.6", false};
/* cvar_t v_kicktime = {"v_kicktime", "0.5", false};
CVAR_FIXME */
cvar_t *v_kicktime;
/* cvar_t v_kickroll = {"v_kickroll", "0.6", false};
CVAR_FIXME */
cvar_t *v_kickroll;
/* cvar_t v_kickpitch = {"v_kickpitch", "0.6", false};
CVAR_FIXME */
cvar_t *v_kickpitch;
cvar_t v_iyaw_cycle = {"v_iyaw_cycle", "2", false};
cvar_t v_iroll_cycle = {"v_iroll_cycle", "0.5", false};
cvar_t v_ipitch_cycle = {"v_ipitch_cycle", "1", false};
cvar_t v_iyaw_level = {"v_iyaw_level", "0.3", false};
cvar_t v_iroll_level = {"v_iroll_level", "0.1", false};
cvar_t v_ipitch_level = {"v_ipitch_level", "0.3", false};
/* cvar_t v_iyaw_cycle = {"v_iyaw_cycle", "2", false};
CVAR_FIXME */
cvar_t *v_iyaw_cycle;
/* cvar_t v_iroll_cycle = {"v_iroll_cycle", "0.5", false};
CVAR_FIXME */
cvar_t *v_iroll_cycle;
/* cvar_t v_ipitch_cycle = {"v_ipitch_cycle", "1", false};
CVAR_FIXME */
cvar_t *v_ipitch_cycle;
/* cvar_t v_iyaw_level = {"v_iyaw_level", "0.3", false};
CVAR_FIXME */
cvar_t *v_iyaw_level;
/* cvar_t v_iroll_level = {"v_iroll_level", "0.1", false};
CVAR_FIXME */
cvar_t *v_iroll_level;
/* cvar_t v_ipitch_level = {"v_ipitch_level", "0.3", false};
CVAR_FIXME */
cvar_t *v_ipitch_level;
cvar_t v_idlescale = {"v_idlescale", "0", false};
/* cvar_t v_idlescale = {"v_idlescale", "0", false};
CVAR_FIXME */
cvar_t *v_idlescale;
cvar_t crosshair = {"crosshair", "0", true};
cvar_t crosshaircolor = {"crosshaircolor", "79", true};
/* cvar_t crosshair = {"crosshair", "0", true};
CVAR_FIXME */
cvar_t *crosshair;
/* cvar_t crosshaircolor = {"crosshaircolor", "79", true};
CVAR_FIXME */
cvar_t *crosshaircolor;
cvar_t cl_crossx = {"cl_crossx", "0", true};
cvar_t cl_crossy = {"cl_crossy", "0", true};
/* cvar_t cl_crossx = {"cl_crossx", "0", true};
CVAR_FIXME */
cvar_t *cl_crossx;
/* cvar_t cl_crossy = {"cl_crossy", "0", true};
CVAR_FIXME */
cvar_t *cl_crossy;
cvar_t v_contentblend = {"v_contentblend", "1", false};
/* cvar_t v_contentblend = {"v_contentblend", "1", false};
CVAR_FIXME */
cvar_t *v_contentblend;
float v_dmg_time, v_dmg_roll, v_dmg_pitch;
@ -94,10 +136,16 @@ float V_CalcRoll (vec3_t angles, vec3_t velocity)
sign = side < 0 ? -1 : 1;
side = fabs(side);
value = cl_rollangle.value;
/* value = cl_rollangle.value;
CVAR_FIXME */
value = cl_rollangle->value;
if (side < cl_rollspeed.value)
side = side * value / cl_rollspeed.value;
/* if (side < cl_rollspeed.value)
CVAR_FIXME */
if (side < cl_rollspeed->value)
/* side = side * value / cl_rollspeed.value;
CVAR_FIXME */
side = side * value / cl_rollspeed->value;
else
side = value;
@ -125,17 +173,29 @@ float V_CalcBob (void)
return bob; // just use old value
bobtime += host_frametime;
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;
/* cycle = bobtime - (int)(bobtime/cl_bobcycle.value)*cl_bobcycle.value;
CVAR_FIXME */
cycle = bobtime - (int)(bobtime/cl_bobcycle->value)*cl_bobcycle->value;
/* cycle /= cl_bobcycle.value;
CVAR_FIXME */
cycle /= cl_bobcycle->value;
/* if (cycle < cl_bobup.value)
CVAR_FIXME */
if (cycle < cl_bobup->value)
/* cycle = M_PI * cycle / cl_bobup.value;
CVAR_FIXME */
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);
CVAR_FIXME */
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 = sqrt(cl.simvel[0]*cl.simvel[0] + cl.simvel[1]*cl.simvel[1]) * cl_bob.value;
CVAR_FIXME */
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;
@ -149,8 +209,12 @@ float V_CalcBob (void)
//=============================================================================
cvar_t v_centermove = {"v_centermove", "0.15", false};
cvar_t v_centerspeed = {"v_centerspeed","500"};
/* cvar_t v_centermove = {"v_centermove", "0.15", false};
CVAR_FIXME */
cvar_t *v_centermove;
/* cvar_t v_centerspeed = {"v_centerspeed","500"};
CVAR_FIXME */
cvar_t *v_centerspeed;
void V_StartPitchDrift (void)
@ -163,7 +227,9 @@ void V_StartPitchDrift (void)
#endif
if (cl.nodrift || !cl.pitchvel)
{
cl.pitchvel = v_centerspeed.value;
/* cl.pitchvel = v_centerspeed.value;
CVAR_FIXME */
cl.pitchvel = v_centerspeed->value;
cl.nodrift = false;
cl.driftmove = 0;
}
@ -208,7 +274,9 @@ void V_DriftPitch (void)
else
cl.driftmove += host_frametime;
if ( cl.driftmove > v_centermove.value)
/* if ( cl.driftmove > v_centermove.value)
CVAR_FIXME */
if ( cl.driftmove > v_centermove->value)
{
V_StartPitchDrift ();
}
@ -224,7 +292,9 @@ void V_DriftPitch (void)
}
move = host_frametime * cl.pitchvel;
cl.pitchvel += host_frametime * v_centerspeed.value;
/* cl.pitchvel += host_frametime * v_centerspeed.value;
CVAR_FIXME */
cl.pitchvel += host_frametime * v_centerspeed->value;
//Con_Printf ("move: %f (%f)\n", move, host_frametime);
@ -266,7 +336,9 @@ 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 v_gamma = {"gamma", "1", true};
/* cvar_t v_gamma = {"gamma", "1", true};
CVAR_FIXME */
cvar_t *v_gamma;
byte gammatable[256]; // palette is sent through this
@ -302,11 +374,17 @@ qboolean V_CheckGamma (void)
{
static float oldgammavalue;
if (v_gamma.value == oldgammavalue)
/* if (v_gamma.value == oldgammavalue)
CVAR_FIXME */
if (v_gamma->value == oldgammavalue)
return false;
oldgammavalue = v_gamma.value;
/* oldgammavalue = v_gamma.value;
CVAR_FIXME */
oldgammavalue = v_gamma->value;
BuildGammaTable (v_gamma.value);
/* BuildGammaTable (v_gamma.value);
CVAR_FIXME */
BuildGammaTable (v_gamma->value);
vid.recalc_refdef = 1; // force a surface cache flush
return true;
@ -373,12 +451,18 @@ void V_ParseDamage (void)
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;
CVAR_FIXME */
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;
CVAR_FIXME */
v_dmg_pitch = count*side*v_kickpitch->value;
v_dmg_time = v_kicktime.value;
/* v_dmg_time = v_kicktime.value;
CVAR_FIXME */
v_dmg_time = v_kicktime->value;
}
@ -420,7 +504,9 @@ Underwater, lava, etc each has a color shift
*/
void V_SetContentsColor (int contents)
{
if (!v_contentblend.value) {
/* if (!v_contentblend.value) {
CVAR_FIXME */
if (!v_contentblend->value) {
cl.cshifts[CSHIFT_CONTENTS] = cshift_empty;
return;
}
@ -584,13 +670,25 @@ Idle swaying
*/
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;
CVAR_FIXME */
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;
CVAR_FIXME */
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;
CVAR_FIXME */
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;
CVAR_FIXME */
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;
CVAR_FIXME */
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;
CVAR_FIXME */
cl.viewent.angles[YAW] -= v_idlescale->value * sin(cl.time*v_iyaw_cycle->value) * v_iyaw_level->value;
}
@ -610,8 +708,12 @@ void V_CalcViewRoll (void)
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;
/* r_refdef.viewangles[ROLL] += v_dmg_time/v_kicktime.value*v_dmg_roll;
CVAR_FIXME */
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;
CVAR_FIXME */
r_refdef.viewangles[PITCH] += v_dmg_time/v_kicktime->value*v_dmg_pitch;
v_dmg_time -= host_frametime;
}
@ -637,10 +739,16 @@ void V_CalcIntermissionRefdef (void)
view->model = NULL;
// allways idle in intermission
old = v_idlescale.value;
v_idlescale.value = 1;
/* old = v_idlescale.value;
CVAR_FIXME */
old = v_idlescale->value;
/* v_idlescale.value = 1;
CVAR_FIXME */
v_idlescale->value = 1;
V_AddIdle ();
v_idlescale.value = old;
/* v_idlescale.value = old;
CVAR_FIXME */
v_idlescale->value = old;
}
/*
@ -712,13 +820,21 @@ void V_CalcRefdef (void)
// fudge position around to keep amount of weapon visible
// roughly equal with different FOV
if (scr_viewsize.value == 110)
/* if (scr_viewsize.value == 110)
CVAR_FIXME */
if (scr_viewsize->value == 110)
view->origin[2] += 1;
else if (scr_viewsize.value == 100)
/* else if (scr_viewsize.value == 100)
CVAR_FIXME */
else if (scr_viewsize->value == 100)
view->origin[2] += 2;
else if (scr_viewsize.value == 90)
/* else if (scr_viewsize.value == 90)
CVAR_FIXME */
else if (scr_viewsize->value == 90)
view->origin[2] += 1;
else if (scr_viewsize.value == 80)
/* else if (scr_viewsize.value == 80)
CVAR_FIXME */
else if (scr_viewsize->value == 80)
view->origin[2] += 0.5;
if (view_message->flags & (PF_GIB|PF_DEAD) )
@ -797,7 +913,9 @@ cl.simangles[ROLL] = 0; // FIXME @@@
R_PushDlights ();
R_RenderView ();
if (crosshair.value)
/* if (crosshair.value)
CVAR_FIXME */
if (crosshair->value)
Draw_Crosshair ();
}
@ -814,36 +932,82 @@ void V_Init (void)
Cmd_AddCommand ("bf", V_BonusFlash_f);
Cmd_AddCommand ("centerview", V_StartPitchDrift);
Cvar_RegisterVariable (&v_centermove);
Cvar_RegisterVariable (&v_centerspeed);
/* Cvar_RegisterVariable (&v_centermove);
CVAR_FIXME */
v_centermove = Cvar_Get("v_centermove", "0.15", CVAR_NONE, "None");
/* Cvar_RegisterVariable (&v_centerspeed);
CVAR_FIXME */
v_centerspeed = Cvar_Get("v_centerspeed", "500", CVAR_NONE, "None");
Cvar_RegisterVariable (&v_iyaw_cycle);
Cvar_RegisterVariable (&v_iroll_cycle);
Cvar_RegisterVariable (&v_ipitch_cycle);
Cvar_RegisterVariable (&v_iyaw_level);
Cvar_RegisterVariable (&v_iroll_level);
Cvar_RegisterVariable (&v_ipitch_level);
/* Cvar_RegisterVariable (&v_iyaw_cycle);
CVAR_FIXME */
v_iyaw_cycle = Cvar_Get("v_iyaw_cycle", "2", CVAR_NONE, "None");
/* Cvar_RegisterVariable (&v_iroll_cycle);
CVAR_FIXME */
v_iroll_cycle = Cvar_Get("v_iroll_cycle", "0.5", CVAR_NONE, "None");
/* Cvar_RegisterVariable (&v_ipitch_cycle);
CVAR_FIXME */
v_ipitch_cycle = Cvar_Get("v_ipitch_cycle", "1", CVAR_NONE, "None");
/* Cvar_RegisterVariable (&v_iyaw_level);
CVAR_FIXME */
v_iyaw_level = Cvar_Get("v_iyaw_level", "0.3", CVAR_NONE, "None");
/* Cvar_RegisterVariable (&v_iroll_level);
CVAR_FIXME */
v_iroll_level = Cvar_Get("v_iroll_level", "0.1", CVAR_NONE, "None");
/* Cvar_RegisterVariable (&v_ipitch_level);
CVAR_FIXME */
v_ipitch_level = Cvar_Get("v_ipitch_level", "0.3", CVAR_NONE, "None");
Cvar_RegisterVariable (&v_contentblend);
/* Cvar_RegisterVariable (&v_contentblend);
CVAR_FIXME */
v_contentblend = Cvar_Get("v_contentblend", "1", CVAR_NONE, "None");
Cvar_RegisterVariable (&v_idlescale);
Cvar_RegisterVariable (&crosshaircolor);
Cvar_RegisterVariable (&crosshair);
Cvar_RegisterVariable (&cl_crossx);
Cvar_RegisterVariable (&cl_crossy);
/* Cvar_RegisterVariable (&v_idlescale);
CVAR_FIXME */
v_idlescale = Cvar_Get("v_idlescale", "0", CVAR_NONE, "None");
/* Cvar_RegisterVariable (&crosshaircolor);
CVAR_FIXME */
crosshaircolor = Cvar_Get("crosshaircolor", "79", CVAR_NONE, "None");
/* Cvar_RegisterVariable (&crosshair);
CVAR_FIXME */
crosshair = Cvar_Get("crosshair", "0", CVAR_NONE, "None");
/* Cvar_RegisterVariable (&cl_crossx);
CVAR_FIXME */
cl_crossx = Cvar_Get("cl_crossx", "0", CVAR_NONE, "None");
/* Cvar_RegisterVariable (&cl_crossy);
CVAR_FIXME */
cl_crossy = Cvar_Get("cl_crossy", "0", CVAR_NONE, "None");
Cvar_RegisterVariable (&cl_rollspeed);
Cvar_RegisterVariable (&cl_rollangle);
Cvar_RegisterVariable (&cl_bob);
Cvar_RegisterVariable (&cl_bobcycle);
Cvar_RegisterVariable (&cl_bobup);
/* Cvar_RegisterVariable (&cl_rollspeed);
CVAR_FIXME */
cl_rollspeed = Cvar_Get("cl_rollspeed", "200", CVAR_NONE, "None");
/* Cvar_RegisterVariable (&cl_rollangle);
CVAR_FIXME */
cl_rollangle = Cvar_Get("cl_rollangle", "2.0", CVAR_NONE, "None");
/* Cvar_RegisterVariable (&cl_bob);
CVAR_FIXME */
cl_bob = Cvar_Get("cl_bob", "0.02", CVAR_NONE, "None");
/* Cvar_RegisterVariable (&cl_bobcycle);
CVAR_FIXME */
cl_bobcycle = Cvar_Get("cl_bobcycle", "0.6", CVAR_NONE, "None");
/* Cvar_RegisterVariable (&cl_bobup);
CVAR_FIXME */
cl_bobup = Cvar_Get("cl_bobup", "0.5", CVAR_NONE, "None");
Cvar_RegisterVariable (&v_kicktime);
Cvar_RegisterVariable (&v_kickroll);
Cvar_RegisterVariable (&v_kickpitch);
/* Cvar_RegisterVariable (&v_kicktime);
CVAR_FIXME */
v_kicktime = Cvar_Get("v_kicktime", "0.5", CVAR_NONE, "None");
/* Cvar_RegisterVariable (&v_kickroll);
CVAR_FIXME */
v_kickroll = Cvar_Get("v_kickroll", "0.6", CVAR_NONE, "None");
/* Cvar_RegisterVariable (&v_kickpitch);
CVAR_FIXME */
v_kickpitch = Cvar_Get("v_kickpitch", "0.6", CVAR_NONE, "None");
BuildGammaTable (1.0); // no gamma yet
Cvar_RegisterVariable (&v_gamma);
/* Cvar_RegisterVariable (&v_gamma);
CVAR_FIXME */
v_gamma = Cvar_Get("gamma", "1", CVAR_NONE, "None");
}