disable transparent pixels in the conback. They will still currently be black,

but at least they won't flicker on some drivers.
This commit is contained in:
Bill Currie 2001-02-16 22:07:40 +00:00
parent 2bb4a60a69
commit 20b9411bcc
9 changed files with 64 additions and 64 deletions

View file

@ -50,7 +50,7 @@ void Draw_FadeScreen (void);
void Draw_String8 (int x, int y, char *str);
void Draw_AltString8 (int x, int y, char *str);
qpic_t *Draw_PicFromWad (char *name);
qpic_t *Draw_CachePic (char *path);
qpic_t *Draw_CachePic (char *path, qboolean alpha);
void Draw_Crosshair(void);
#endif // _DRAW_H

View file

@ -93,7 +93,7 @@ Draw_ClearCache (void)
Draw_CachePic
*/
qpic_t *
Draw_CachePic (char *path)
Draw_CachePic (char *path, qboolean alpha)
{
cachepic_t *pic;
int i;
@ -140,30 +140,30 @@ Draw_TextBox (int x, int y, int width, int lines)
// draw left side
cx = x;
cy = y;
p = Draw_CachePic ("gfx/box_tl.lmp");
p = Draw_CachePic ("gfx/box_tl.lmp", true);
Draw_Pic (cx, cy, p);
p = Draw_CachePic ("gfx/box_ml.lmp");
p = Draw_CachePic ("gfx/box_ml.lmp", true);
for (n = 0; n < lines; n++) {
cy += 8;
Draw_Pic (cx, cy, p);
}
p = Draw_CachePic ("gfx/box_bl.lmp");
p = Draw_CachePic ("gfx/box_bl.lmp", true);
Draw_Pic (cx, cy + 8, p);
// draw middle
cx += 8;
while (width > 0) {
cy = y;
p = Draw_CachePic ("gfx/box_tm.lmp");
p = Draw_CachePic ("gfx/box_tm.lmp", true);
Draw_Pic (cx, cy, p);
p = Draw_CachePic ("gfx/box_mm.lmp");
p = Draw_CachePic ("gfx/box_mm.lmp", true);
for (n = 0; n < lines; n++) {
cy += 8;
if (n == 1)
p = Draw_CachePic ("gfx/box_mm2.lmp");
p = Draw_CachePic ("gfx/box_mm2.lmp", true);
Draw_Pic (cx, cy, p);
}
p = Draw_CachePic ("gfx/box_bm.lmp");
p = Draw_CachePic ("gfx/box_bm.lmp", true);
Draw_Pic (cx, cy + 8, p);
width -= 2;
cx += 16;
@ -171,14 +171,14 @@ Draw_TextBox (int x, int y, int width, int lines)
// draw right side
cy = y;
p = Draw_CachePic ("gfx/box_tr.lmp");
p = Draw_CachePic ("gfx/box_tr.lmp", true);
Draw_Pic (cx, cy, p);
p = Draw_CachePic ("gfx/box_mr.lmp");
p = Draw_CachePic ("gfx/box_mr.lmp", true);
for (n = 0; n < lines; n++) {
cy += 8;
Draw_Pic (cx, cy, p);
}
p = Draw_CachePic ("gfx/box_br.lmp");
p = Draw_CachePic ("gfx/box_br.lmp", true);
Draw_Pic (cx, cy + 8, p);
}
@ -565,7 +565,7 @@ Draw_ConsoleBackground (int lines)
int f, fstep;
qpic_t *conback;
conback = Draw_CachePic ("gfx/conback.lmp");
conback = Draw_CachePic ("gfx/conback.lmp", false);
// draw the pic
if (r_pixbytes == 1) {

View file

@ -47,7 +47,7 @@
#include "screen.h"
#include "sys.h"
static int GL_LoadPicTexture (qpic_t *pic);
static int GL_LoadPicTexture (qpic_t *pic, qboolean alpha);
extern byte *host_basepal;
extern unsigned char d_15to8table[65536];
@ -136,7 +136,7 @@ Draw_PicFromWad (char *name)
p = W_GetLumpName (name);
gl = (glpic_t *) p->data;
gl->texnum = GL_LoadPicTexture (p);
gl->texnum = GL_LoadPicTexture (p, true);
gl->sl = 0;
gl->sh = 1;
gl->tl = 0;
@ -159,7 +159,7 @@ Draw_ClearCache (void)
Draw_CachePic
*/
qpic_t *
Draw_CachePic (char *path)
Draw_CachePic (char *path, qboolean alpha)
{
cachepic_t *pic;
int i;
@ -194,7 +194,7 @@ Draw_CachePic (char *path)
// Now feed it to the GL stuff and get a texture number..
gl = (glpic_t *) pic->pic.data;
gl->texnum = GL_LoadPicTexture (dat);
gl->texnum = GL_LoadPicTexture (dat, alpha);
// Alignment stuff..
gl->sl = 0;
@ -287,30 +287,30 @@ Draw_TextBox (int x, int y, int width, int lines)
// draw left side
cx = x;
cy = y;
p = Draw_CachePic ("gfx/box_tl.lmp");
p = Draw_CachePic ("gfx/box_tl.lmp", true);
Draw_Pic (cx, cy, p);
p = Draw_CachePic ("gfx/box_ml.lmp");
p = Draw_CachePic ("gfx/box_ml.lmp", true);
for (n = 0; n < lines; n++) {
cy += 8;
Draw_Pic (cx, cy, p);
}
p = Draw_CachePic ("gfx/box_bl.lmp");
p = Draw_CachePic ("gfx/box_bl.lmp", true);
Draw_Pic (cx, cy + 8, p);
// draw middle
cx += 8;
while (width > 0) {
cy = y;
p = Draw_CachePic ("gfx/box_tm.lmp");
p = Draw_CachePic ("gfx/box_tm.lmp", true);
Draw_Pic (cx, cy, p);
p = Draw_CachePic ("gfx/box_mm.lmp");
p = Draw_CachePic ("gfx/box_mm.lmp", true);
for (n = 0; n < lines; n++) {
cy += 8;
if (n == 1)
p = Draw_CachePic ("gfx/box_mm2.lmp");
p = Draw_CachePic ("gfx/box_mm2.lmp", true);
Draw_Pic (cx, cy, p);
}
p = Draw_CachePic ("gfx/box_bm.lmp");
p = Draw_CachePic ("gfx/box_bm.lmp", true);
Draw_Pic (cx, cy + 8, p);
width -= 2;
cx += 16;
@ -318,14 +318,14 @@ Draw_TextBox (int x, int y, int width, int lines)
// draw right side
cy = y;
p = Draw_CachePic ("gfx/box_tr.lmp");
p = Draw_CachePic ("gfx/box_tr.lmp", true);
Draw_Pic (cx, cy, p);
p = Draw_CachePic ("gfx/box_mr.lmp");
p = Draw_CachePic ("gfx/box_mr.lmp", true);
for (n = 0; n < lines; n++) {
cy += 8;
Draw_Pic (cx, cy, p);
}
p = Draw_CachePic ("gfx/box_br.lmp");
p = Draw_CachePic ("gfx/box_br.lmp", true);
Draw_Pic (cx, cy + 8, p);
}
@ -658,7 +658,7 @@ Draw_ConsoleBackground (int lines)
float alpha;
// This can be a CachePic now, just like in software
conback = Draw_CachePic ("gfx/conback.lmp");
conback = Draw_CachePic ("gfx/conback.lmp", false);
gl = (glpic_t *) conback->data;
// spin the console? - effect described in a QER tutorial
@ -1229,8 +1229,8 @@ GL_LoadTexture (char *identifier, int width, int height, byte * data,
GL_LoadPicTexture
*/
static int
GL_LoadPicTexture (qpic_t *pic)
GL_LoadPicTexture (qpic_t *pic, qboolean alpha)
{
return GL_LoadTexture ("", pic->width, pic->height, pic->data, false, true,
return GL_LoadTexture ("", pic->width, pic->height, pic->data, false, alpha,
1);
}

View file

@ -563,7 +563,7 @@ SCR_DrawPause (void)
if (!cl.paused)
return;
pic = Draw_CachePic ("gfx/pause.lmp");
pic = Draw_CachePic ("gfx/pause.lmp", true);
Draw_Pic ((vid.width - pic->width) / 2,
(vid.height - 48 - pic->height) / 2, pic);
}

View file

@ -245,30 +245,30 @@ M_DrawTextBox (int x, int y, int width, int lines)
// draw left side
cx = x;
cy = y;
p = Draw_CachePic ("gfx/box_tl.lmp");
p = Draw_CachePic ("gfx/box_tl.lmp", true);
M_DrawTransPic (cx, cy, p);
p = Draw_CachePic ("gfx/box_ml.lmp");
p = Draw_CachePic ("gfx/box_ml.lmp", true);
for (n = 0; n < lines; n++) {
cy += 8;
M_DrawTransPic (cx, cy, p);
}
p = Draw_CachePic ("gfx/box_bl.lmp");
p = Draw_CachePic ("gfx/box_bl.lmp", true);
M_DrawTransPic (cx, cy + 8, p);
// draw middle
cx += 8;
while (width > 0) {
cy = y;
p = Draw_CachePic ("gfx/box_tm.lmp");
p = Draw_CachePic ("gfx/box_tm.lmp", true);
M_DrawTransPic (cx, cy, p);
p = Draw_CachePic ("gfx/box_mm.lmp");
p = Draw_CachePic ("gfx/box_mm.lmp", true);
for (n = 0; n < lines; n++) {
cy += 8;
if (n == 1)
p = Draw_CachePic ("gfx/box_mm2.lmp");
p = Draw_CachePic ("gfx/box_mm2.lmp", true);
M_DrawTransPic (cx, cy, p);
}
p = Draw_CachePic ("gfx/box_bm.lmp");
p = Draw_CachePic ("gfx/box_bm.lmp", true);
M_DrawTransPic (cx, cy + 8, p);
width -= 2;
cx += 16;
@ -276,14 +276,14 @@ M_DrawTextBox (int x, int y, int width, int lines)
// draw right side
cy = y;
p = Draw_CachePic ("gfx/box_tr.lmp");
p = Draw_CachePic ("gfx/box_tr.lmp", true);
M_DrawTransPic (cx, cy, p);
p = Draw_CachePic ("gfx/box_mr.lmp");
p = Draw_CachePic ("gfx/box_mr.lmp", true);
for (n = 0; n < lines; n++) {
cy += 8;
M_DrawTransPic (cx, cy, p);
}
p = Draw_CachePic ("gfx/box_br.lmp");
p = Draw_CachePic ("gfx/box_br.lmp", true);
M_DrawTransPic (cx, cy + 8, p);
}
@ -345,15 +345,15 @@ M_Main_Draw (void)
int f;
qpic_t *p;
M_DrawTransPic (16, 4, Draw_CachePic ("gfx/qplaque.lmp"));
p = Draw_CachePic ("gfx/ttl_main.lmp");
M_DrawTransPic (16, 4, Draw_CachePic ("gfx/qplaque.lmp", true));
p = Draw_CachePic ("gfx/ttl_main.lmp", true);
M_DrawPic ((320 - p->width) / 2, 4, p);
M_DrawTransPic (72, 32, Draw_CachePic ("gfx/mainmenu.lmp"));
M_DrawTransPic (72, 32, Draw_CachePic ("gfx/mainmenu.lmp", true));
f = (int) (realtime * 10) % 6;
M_DrawTransPic (54, 32 + m_main_cursor * 20,
Draw_CachePic (va ("gfx/menudot%i.lmp", f + 1)));
Draw_CachePic (va ("gfx/menudot%i.lmp", f + 1), true));
}
@ -532,8 +532,8 @@ M_Options_Draw (void)
float r;
qpic_t *p;
M_DrawTransPic (16, 4, Draw_CachePic ("gfx/qplaque.lmp"));
p = Draw_CachePic ("gfx/p_option.lmp");
M_DrawTransPic (16, 4, Draw_CachePic ("gfx/qplaque.lmp", true));
p = Draw_CachePic ("gfx/p_option.lmp", true);
M_DrawPic ((320 - p->width) / 2, 4, p);
M_Print (16, 32, " Customize controls");
@ -762,7 +762,7 @@ M_Keys_Draw (void)
int x, y;
qpic_t *p;
p = Draw_CachePic ("gfx/ttl_cstm.lmp");
p = Draw_CachePic ("gfx/ttl_cstm.lmp", true);
M_DrawPic ((320 - p->width) / 2, 4, p);
if (bind_grab)
@ -906,7 +906,7 @@ M_Menu_Help_f (void)
void
M_Help_Draw (void)
{
M_DrawPic (0, 0, Draw_CachePic (va ("gfx/help%i.lmp", help_page)));
M_DrawPic (0, 0, Draw_CachePic (va ("gfx/help%i.lmp", help_page), true));
}
@ -1039,11 +1039,11 @@ M_SinglePlayer_Draw (void)
{
qpic_t *p;
M_DrawTransPic (16, 4, Draw_CachePic ("gfx/qplaque.lmp"));
// M_DrawTransPic (16, 4, Draw_CachePic ("gfx/qplaque.lmp") );
p = Draw_CachePic ("gfx/ttl_sgl.lmp");
M_DrawTransPic (16, 4, Draw_CachePic ("gfx/qplaque.lmp", true));
// M_DrawTransPic (16, 4, Draw_CachePic ("gfx/qplaque.lmp", true) );
p = Draw_CachePic ("gfx/ttl_sgl.lmp", true);
M_DrawPic ((320 - p->width) / 2, 4, p);
// M_DrawTransPic (72, 32, Draw_CachePic ("gfx/sp_menu.lmp") );
// M_DrawTransPic (72, 32, Draw_CachePic ("gfx/sp_menu.lmp", true) );
M_DrawTextBox (60, 10 * 8, 23, 4);
M_PrintWhite (88, 12 * 8, "This client is for");
@ -1092,8 +1092,8 @@ M_MultiPlayer_Draw (void)
int f;
M_DrawTransPic (16, 4, Draw_CachePic ("gfx/qplaque.lmp"));
p = Draw_CachePic ("gfx/p_multi.lmp");
M_DrawTransPic (16, 4, Draw_CachePic ("gfx/qplaque.lmp", true));
p = Draw_CachePic ("gfx/p_multi.lmp", true);
M_DrawPic ((320 - p->width) / 2, 4, p);
if (!slist) {
@ -1187,7 +1187,7 @@ M_MultiPlayer_Draw (void)
M_PrintWhite (STAT_X + 10, STAT_Y + 24, "Updating...");
f = (int)(realtime * 10) % 6;
M_PrintWhite(STAT_X+118,STAT_Y+48,"uakeforge!");
M_DrawTransPic(STAT_X+105,STAT_Y+38,Draw_CachePic(va("gfx/menudot%i.lmp",f+1)));
M_DrawTransPic(STAT_X+105,STAT_Y+38,Draw_CachePic(va("gfx/menudot%i.lmp",f+1), true));
}
M_DrawCharacter (MENU_X + 8, (m_multip_cursor - m_multip_mins + 1) * 8 + MENU_Y, 12 + ((int) (realtime * 4) & 1));
@ -1378,8 +1378,8 @@ M_SEdit_Draw (void)
{
qpic_t *p;
M_DrawTransPic (16, 4, Draw_CachePic ("gfx/qplaque.lmp"));
p = Draw_CachePic ("gfx/p_multi.lmp");
M_DrawTransPic (16, 4, Draw_CachePic ("gfx/qplaque.lmp", true));
p = Draw_CachePic ("gfx/p_multi.lmp", true);
M_DrawPic ((320 - p->width) / 2, 4, p);
M_DrawTextBox (SERV_X, SERV_Y, 23, 1);

View file

@ -891,7 +891,7 @@ Sbar_TeamOverlay (void)
scr_copyeverything = 1;
scr_fullupdate = 0;
pic = Draw_CachePic ("gfx/ranking.lmp");
pic = Draw_CachePic ("gfx/ranking.lmp", true);
Draw_Pic (160 - pic->width / 2, 0, pic);
y = 24;
@ -992,7 +992,7 @@ Sbar_DeathmatchOverlay (int start)
scr_fullupdate = 0;
if (!start) {
pic = Draw_CachePic ("gfx/ranking.lmp");
pic = Draw_CachePic ("gfx/ranking.lmp", true);
Draw_Pic (160 - pic->width / 2, 0, pic);
}
// scores
@ -1278,6 +1278,6 @@ Sbar_FinaleOverlay (void)
scr_copyeverything = 1;
pic = Draw_CachePic ("gfx/finale.lmp");
pic = Draw_CachePic ("gfx/finale.lmp", true);
Draw_Pic ((vid.width - pic->width) / 2, 16, pic);
}

View file

@ -578,7 +578,7 @@ SCR_DrawPause (void)
if (!cl.paused)
return;
pic = Draw_CachePic ("gfx/pause.lmp");
pic = Draw_CachePic ("gfx/pause.lmp", true);
Draw_Pic ((vid.width - pic->width) / 2,
(vid.height - 48 - pic->height) / 2, pic);
}

View file

@ -2946,7 +2946,7 @@ VID_MenuDraw (void)
vmode_t *pv;
modedesc_t tmodedesc;
p = Draw_CachePic ("gfx/vidmodes.lmp");
p = Draw_CachePic ("gfx/vidmodes.lmp", true);
M_DrawPic ((320 - p->width) / 2, 4, p);
for (i = 0; i < 3; i++) {

View file

@ -1698,7 +1698,7 @@ VID_MenuDraw (void)
int lnummodes, i, k, column, row;
vmode_t *pv;
p = Draw_CachePic ("gfx/vidmodes.lmp");
p = Draw_CachePic ("gfx/vidmodes.lmp", true);
M_DrawPic ((320 - p->width) / 2, 4, p);
vid_wmodes = 0;