git-svn-id: svn://svn.code.sf.net/p/actiongame/code/trunk/ac@997 e016b1c5-ed68-44aa-a2f7-31cac88cffde
This commit is contained in:
driAn
2007-05-14 18:43:59 +00:00
parent d3f97bc349
commit fd2ef397a2
13 changed files with 213 additions and 57 deletions
+41 -22
View File
@@ -50,6 +50,7 @@ VARP(radarres, 1, 64, 1024);
VARP(radarentsize, 1, 4, 64);
VARP(hidectfhud, 0, 0, 1);
VARP(hideteamhud, 0, 0, 1);
VARP(hidedemohud, 0, 0, 1);
VAR(showmap, 0, 0, 1);
@@ -259,31 +260,35 @@ void gl_drawhud(int w, int h, int curfps, int nquads, int curvert, bool underwat
glEnable(GL_TEXTURE_2D);
bool demo3rd = demoplayback && !localdemoplayer1st();
playerent *targetplayer = playerincrosshair();
bool didteamkill = player1->lastteamkill && player1->lastteamkill + 5000 > lastmillis;
bool menuvisible = rendermenu();
if(player1->state==CS_ALIVE && !player1->reloading && !didteamkill && !menuvisible)
{
bool drawteamwarning = targetplayer ? (isteam(targetplayer->team, player1->team) && targetplayer->state!=CS_DEAD) : false;
if(player1->gunselect==GUN_SNIPER && scoped) drawscope();
else if((player1->gunselect!=GUN_SNIPER || drawteamwarning)) drawcrosshair(drawteamwarning);
}
drawequipicons();
if(!hideradar)
{
glMatrixMode(GL_MODELVIEW);
drawradar(w, h);
glMatrixMode(GL_PROJECTION);
}
char *infostr = editinfo();
bool command = getcurcommand() ? true : false;
if(command) rendercommand(20, 1570);
else if(infostr) draw_text(infostr, 20, 1570);
else if(targetplayer) draw_text(targetplayer->name, 20, 1570);
if(!demo3rd)
{
if(player1->state==CS_ALIVE && !player1->reloading && !didteamkill && !menuvisible)
{
bool drawteamwarning = targetplayer ? (isteam(targetplayer->team, player1->team) && targetplayer->state!=CS_DEAD) : false;
if(player1->gunselect==GUN_SNIPER && scoped) drawscope();
else if((player1->gunselect!=GUN_SNIPER || drawteamwarning)) drawcrosshair(drawteamwarning);
}
drawequipicons();
if(!hideradar)
{
glMatrixMode(GL_MODELVIEW);
drawradar(w, h);
glMatrixMode(GL_PROJECTION);
}
char *infostr = editinfo();
if(command) rendercommand(20, 1570);
else if(infostr) draw_text(infostr, 20, 1570);
else if(targetplayer) draw_text(targetplayer->name, 20, 1570);
}
glLoadIdentity();
glOrtho(0, VIRTW*2, VIRTH*2, 0, -1, 1);
@@ -299,8 +304,22 @@ void gl_drawhud(int w, int h, int curfps, int nquads, int curvert, bool underwat
draw_textf("wvt %d", left, top+240, curvert);
draw_textf("evt %d", left, top+320, xtraverts);
}
if(!hidedemohud && demoplayback)
{
const int left = VIRTW*2/80, top = VIRTH*2*3/4;
int dmillis = demomillis();
s_sprintfd(time)("%d:%02d", dmillis/1000/60, dmillis/1000%60);
s_sprintfd(following)("\f0Following %s", demoplayer->name);
if(player1->state==CS_ALIVE)
draw_text(time, left, top-FONTH);
draw_text(following, left, top);
draw_text("jump to pause", left, top+2*FONTH);
draw_text("attack to change view", left, top+3*FONTH);
draw_text("reload for slow-motion", left, top+4*FONTH);
}
if(player1->state==CS_ALIVE && !demo3rd)
{
glLoadIdentity();
glOrtho(0, VIRTW/2, VIRTH/2, 0, -1, 1);