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

@ -53,13 +53,23 @@
extern byte *host_basepal;
extern unsigned char d_15to8table[65536];
extern cvar_t crosshair, cl_crossx, cl_crossy, crosshaircolor;
/* extern cvar_t crosshair, cl_crossx, cl_crossy, crosshaircolor;
CVAR_FIXME */
extern cvar_t *crosshair, *cl_crossx, *cl_crossy, *crosshaircolor;
cvar_t gl_nobind = {"gl_nobind", "0"};
cvar_t gl_max_size = {"gl_max_size", "1024"};
cvar_t gl_picmip = {"gl_picmip", "0"};
/* cvar_t gl_nobind = {"gl_nobind", "0"};
CVAR_FIXME */
cvar_t *gl_nobind;
/* cvar_t gl_max_size = {"gl_max_size", "1024"};
CVAR_FIXME */
cvar_t *gl_max_size;
/* cvar_t gl_picmip = {"gl_picmip", "0"};
CVAR_FIXME */
cvar_t *gl_picmip;
cvar_t cl_verstring = {"cl_verstring", "QuakeForge " QF_VERSION};
/* cvar_t cl_verstring = {"cl_verstring", "QuakeForge " QF_VERSION};
CVAR_FIXME */
cvar_t *cl_verstring;
extern byte *draw_chars; // 8*8 graphic characters
qpic_t *draw_disc;
@ -114,7 +124,9 @@ int numgltextures;
void GL_Bind (int texnum)
{
if (gl_nobind.value)
/* if (gl_nobind.value)
CVAR_FIXME */
if (gl_nobind->value)
texnum = char_texture;
if (currenttexture == texnum)
return;
@ -410,11 +422,19 @@ void Draw_Init (void)
int start;
byte *ncdata;
Cvar_RegisterVariable (&gl_nobind);
Cvar_RegisterVariable (&gl_max_size);
Cvar_RegisterVariable (&gl_picmip);
/* Cvar_RegisterVariable (&gl_nobind);
CVAR_FIXME */
gl_nobind = Cvar_Get("gl_nobind", "0", CVAR_NONE, "None");
/* Cvar_RegisterVariable (&gl_max_size);
CVAR_FIXME */
gl_max_size = Cvar_Get("gl_max_size", "1024", CVAR_NONE, "None");
/* Cvar_RegisterVariable (&gl_picmip);
CVAR_FIXME */
gl_picmip = Cvar_Get("gl_picmip", "0", CVAR_NONE, "None");
Cvar_RegisterVariable (&cl_verstring);
/* Cvar_RegisterVariable (&cl_verstring);
CVAR_FIXME */
cl_verstring = Cvar_Get("cl_verstring", "QuakeForge " QF_VERSION, CVAR_NONE, "None");
// 3dfx can only handle 256 wide textures
if (!Q_strncasecmp ((char *)gl_renderer, "3dfx",4) ||
@ -589,12 +609,20 @@ void Draw_Crosshair(void)
extern vrect_t scr_vrect;
unsigned char *pColor;
if (crosshair.value == 2) {
x = scr_vrect.x + scr_vrect.width/2 - 3 + cl_crossx.value;
y = scr_vrect.y + scr_vrect.height/2 - 3 + cl_crossy.value;
/* if (crosshair.value == 2) {
CVAR_FIXME */
if (crosshair->value == 2) {
/* x = scr_vrect.x + scr_vrect.width/2 - 3 + cl_crossx.value;
CVAR_FIXME */
x = scr_vrect.x + scr_vrect.width/2 - 3 + cl_crossx->value;
/* y = scr_vrect.y + scr_vrect.height/2 - 3 + cl_crossy.value;
CVAR_FIXME */
y = scr_vrect.y + scr_vrect.height/2 - 3 + cl_crossy->value;
glTexEnvf ( GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE );
pColor = (unsigned char *) &d_8to24table[(byte) crosshaircolor.value];
/* pColor = (unsigned char *) &d_8to24table[(byte) crosshaircolor.value];
CVAR_FIXME */
pColor = (unsigned char *) &d_8to24table[(byte) crosshaircolor->value];
glColor4ubv ( pColor );
GL_Bind (cs_texture);
@ -610,9 +638,15 @@ void Draw_Crosshair(void)
glEnd ();
glTexEnvf ( GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE );
} else if (crosshair.value)
Draw_Character (scr_vrect.x + scr_vrect.width/2-4 + cl_crossx.value,
scr_vrect.y + scr_vrect.height/2-4 + cl_crossy.value,
/* } else if (crosshair.value)
CVAR_FIXME */
} else if (crosshair->value)
/* Draw_Character (scr_vrect.x + scr_vrect.width/2-4 + cl_crossx.value,
CVAR_FIXME */
Draw_Character (scr_vrect.x + scr_vrect.width/2-4 + cl_crossx->value,
/* scr_vrect.y + scr_vrect.height/2-4 + cl_crossy.value,
CVAR_FIXME */
scr_vrect.y + scr_vrect.height/2-4 + cl_crossy->value,
'+');
}
@ -807,8 +841,8 @@ void Draw_ConsoleBackground (int lines)
else
Draw_AlphaPic (0, lines - vid.height, conback, (float)(1.2 * lines)/y);
Draw_Alt_String (vid.conwidth - strlen(cl_verstring.string)*8 - 11,
lines-14, cl_verstring.string);
Draw_Alt_String (vid.conwidth - strlen(cl_verstring->string)*8 - 11,
lines-14, cl_verstring->string);
}
@ -1105,13 +1139,25 @@ static unsigned scaled[1024*512]; // [512*256];
for (scaled_height = 1 ; scaled_height < height ; scaled_height<<=1)
;
scaled_width >>= (int)gl_picmip.value;
scaled_height >>= (int)gl_picmip.value;
/* scaled_width >>= (int)gl_picmip.value;
CVAR_FIXME */
scaled_width >>= (int)gl_picmip->value;
/* scaled_height >>= (int)gl_picmip.value;
CVAR_FIXME */
scaled_height >>= (int)gl_picmip->value;
if (scaled_width > gl_max_size.value)
scaled_width = gl_max_size.value;
if (scaled_height > gl_max_size.value)
scaled_height = gl_max_size.value;
/* if (scaled_width > gl_max_size.value)
CVAR_FIXME */
if (scaled_width > gl_max_size->value)
/* scaled_width = gl_max_size.value;
CVAR_FIXME */
scaled_width = gl_max_size->value;
/* if (scaled_height > gl_max_size.value)
CVAR_FIXME */
if (scaled_height > gl_max_size->value)
/* scaled_height = gl_max_size.value;
CVAR_FIXME */
scaled_height = gl_max_size->value;
if (scaled_width * scaled_height > sizeof(scaled)/4)
Sys_Error ("GL_LoadTexture: too big");
@ -1207,13 +1253,25 @@ void GL_Upload8_EXT (byte *data, int width, int height, qboolean mipmap, qboole
for (scaled_height = 1 ; scaled_height < height ; scaled_height<<=1)
;
scaled_width >>= (int)gl_picmip.value;
scaled_height >>= (int)gl_picmip.value;
/* scaled_width >>= (int)gl_picmip.value;
CVAR_FIXME */
scaled_width >>= (int)gl_picmip->value;
/* scaled_height >>= (int)gl_picmip.value;
CVAR_FIXME */
scaled_height >>= (int)gl_picmip->value;
if (scaled_width > gl_max_size.value)
scaled_width = gl_max_size.value;
if (scaled_height > gl_max_size.value)
scaled_height = gl_max_size.value;
/* if (scaled_width > gl_max_size.value)
CVAR_FIXME */
if (scaled_width > gl_max_size->value)
/* scaled_width = gl_max_size.value;
CVAR_FIXME */
scaled_width = gl_max_size->value;
/* if (scaled_height > gl_max_size.value)
CVAR_FIXME */
if (scaled_height > gl_max_size->value)
/* scaled_height = gl_max_size.value;
CVAR_FIXME */
scaled_height = gl_max_size->value;
if (scaled_width * scaled_height > sizeof(scaled))
Sys_Error ("GL_LoadTexture: too big");